NotesWhat is notes.io?

Notes brand slogan

Notes - notes.io

Please clone the https://github.com/EntryPointDev/INTERN-116 repository.

This repository is a copy of https://github.com/EntryPointDev/asp.net-starter project.

After that, create a new branch based on the existing “master“ branch - Create a branch - Visual Studio (Windows) .

In this new branch, you need to add the same functionality that was described in first test task, but now as part of the “starter” project.

You need to follow the same code style, architecture and principles that are used in the starter project.

Модели (Entities):

Клиент (Client) с полями:
Id
Name
Email
Birthdate (DateTime)
Gender (Enum со значениями Male, Female)
Orders - коллекция заказов этого клиента

Товар (Product) с полями:
Id
Code
Title
Price (decimal)

Заказ (Order) с полями:
Id
ClientId
Client - ссылка на клиента
ProductId
Product - ссылка на продукт
Quantity
Status (Enum со значениями Created, Paid, Delivered)

Нужно сделать следующее:

1) Список клиентов с возможностью удалить клиента (вместе со всеми его заказами). Среди прочих колонок в списке обязательно должны быть колонки "Количество заказов" и "Средняя сумма заказа".

Данные для списка должны выбираться только одним LINQ запросом при помощи проекции, используя DataTableQueryBuilder.

2) Модальные для создания клиента и редактирования клиента. Пол (Gender) должен выбираться при помощи radio button или dropdown (<multi-select /> component).

3) Список товаров с возможностью удалить товар.

4) Модальные для создания товара и редактирования товара.

5) Список заказов с возможностью удалить заказ. Среди прочих колонок в списке должны быть колонки "Название товара", "Количество" (Quantity), "Сумма заказа" (количество умноженное на стоимость товара), "Статус заказа".

Данные для списка должны выбираться только одним LINQ запросом при помощи проекции, используя DataTableQueryBuilder.(https://entrypointdev.github.io/DataTableQueryBuilder/)

6) Формы создания заказа и редактирование заказа. Клиент и товар должны выбираться при помощи dropdown (<multi-select /> component).

Примечания:

Во всех формах обязательно должна быть валидация- если поле емейл, то валидатор на емейл, если поле обязательное, то required-валидатор и т.д. Не должно возникать никаких Exceptions, если поля не заполнены или заполнены неправильно.

Client.Gender и Order.Status должны быть обязательно сделаны при помощи Enum.
     
 
what is notes.io
 

Notes is a web-based application for online taking notes. You can take your notes and share with others people. If you like taking long notes, notes.io is designed for you. To date, over 8,000,000,000+ notes created and continuing...

With notes.io;

  • * You can take a note from anywhere and any device with internet connection.
  • * You can share the notes in social platforms (YouTube, Facebook, Twitter, instagram etc.).
  • * You can quickly share your contents without website, blog and e-mail.
  • * You don't need to create any Account to share a note. As you wish you can use quick, easy and best shortened notes with sms, websites, e-mail, or messaging services (WhatsApp, iMessage, Telegram, Signal).
  • * Notes.io has fabulous infrastructure design for a short link and allows you to share the note as an easy and understandable link.

Fast: Notes.io is built for speed and performance. You can take a notes quickly and browse your archive.

Easy: Notes.io doesn’t require installation. Just write and share note!

Short: Notes.io’s url just 8 character. You’ll get shorten link of your note when you want to share. (Ex: notes.io/q )

Free: Notes.io works for 14 years and has been free since the day it was started.


You immediately create your first note and start sharing with the ones you wish. If you want to contact us, you can use the following communication channels;


Email: [email protected]

Twitter: http://twitter.com/notesio

Instagram: http://instagram.com/notes.io

Facebook: http://facebook.com/notesio



Regards;
Notes.io Team

     
 
Shortened Note Link
 
 
Looding Image
 
     
 
Long File
 
 

For written notes was greater than 18KB Unable to shorten.

To be smaller than 18KB, please organize your notes, or sign in.