From 6daea90ac0a6c930021417d3fbf0c4b3e04dab2c Mon Sep 17 00:00:00 2001 From: Stepan Date: Tue, 28 May 2024 21:30:33 +0400 Subject: [PATCH] =?UTF-8?q?=D1=81=D0=B4=D0=B5=D0=BB=D0=B0=D0=BD=D1=8B=20?= =?UTF-8?q?=D1=82=D0=B0=D0=B1=D0=BB=D0=B8=D1=86=D1=8B=20+=20=D0=BD=D0=B5?= =?UTF-8?q?=D0=B1=D0=BE=D0=BB=D1=8C=D1=88=D0=B8=D0=B5=20=D0=B4=D0=BE=D1=80?= =?UTF-8?q?=D0=B0=D0=B1=D0=BE=D1=82=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Views/Home/CreateCompletions.cshtml | 12 +- .../Views/Shared/_Layout.cshtml | 1 - .../BusinessLogics/PreSaleWorkLogic.cs | 2 +- .../BusinessLogics/SaleLogic.cs | 2 +- .../Implements/PreSaleWorkStorage.cs | 4 +- .../Controllers/HomeController.cs | 4 +- CarCenter/CarCenterManagerAPP/ManagerData.cs | 12 +- .../Views/Home/CreatePreSaleWork.cshtml | 144 ++++++++++++++---- .../Views/Home/IndexPreSaleWork.cshtml | 5 +- .../Views/Home/Privacy.cshtml | 102 ++++++++++++- .../Views/Home/ReportsMenu.cshtml | 4 +- .../Views/Home/SaleDateChoose.cshtml | 76 +++++++++ .../Views/Home/SalesPeriodReport.cshtml | 9 +- .../Views/Shared/_Layout.cshtml | 6 +- 14 files changed, 327 insertions(+), 56 deletions(-) create mode 100644 CarCenter/CarCenterManagerAPP/Views/Home/SaleDateChoose.cshtml diff --git a/CarCenter/CarCenterAdministratorAPP/Views/Home/CreateCompletions.cshtml b/CarCenter/CarCenterAdministratorAPP/Views/Home/CreateCompletions.cshtml index 4ff6612..5f79e8b 100644 --- a/CarCenter/CarCenterAdministratorAPP/Views/Home/CreateCompletions.cshtml +++ b/CarCenter/CarCenterAdministratorAPP/Views/Home/CreateCompletions.cshtml @@ -91,15 +91,9 @@ var selectedcar = $('#carSelect option:selected'); if (selectedcar.val()) { var carId = selectedcar.val(); - var exists = false; - $('#carsTable tbody tr').each(function () { - if ($(this).data('car-id') == carId) { - exists = true; - return false; - } - }); + var exists = $('#carsTable tbody tr[data-car-id="' + carId + '"]').length > 0; if (exists) { - alert('Эта машина уже добавлена.'); + alert('Эта продажа уже добавлена.'); return; } @@ -134,7 +128,7 @@ }); $('#CompletionsForm').submit(function (event) { - var title = $('#title').val(); + var title = $('#name').val(); var isValid = true; $('#titleError').text(''); diff --git a/CarCenter/CarCenterAdministratorAPP/Views/Shared/_Layout.cshtml b/CarCenter/CarCenterAdministratorAPP/Views/Shared/_Layout.cshtml index c3cf25b..7aaad38 100644 --- a/CarCenter/CarCenterAdministratorAPP/Views/Shared/_Layout.cshtml +++ b/CarCenter/CarCenterAdministratorAPP/Views/Shared/_Layout.cshtml @@ -17,7 +17,6 @@
Администратор Автоцентр "Корыто" @ViewData["Login"] -
diff --git a/CarCenter/CarCenterBusinessLogic/BusinessLogics/PreSaleWorkLogic.cs b/CarCenter/CarCenterBusinessLogic/BusinessLogics/PreSaleWorkLogic.cs index 9084574..8292ad6 100644 --- a/CarCenter/CarCenterBusinessLogic/BusinessLogics/PreSaleWorkLogic.cs +++ b/CarCenter/CarCenterBusinessLogic/BusinessLogics/PreSaleWorkLogic.cs @@ -75,7 +75,7 @@ namespace CarCenterBusinessLogic.BusinessLogics public List? ReadList(PreSaleWorkSearchModel? model) { - _logger.LogInformation("ReadList. PreSaleWorkType:{PreSaleWorkType}.Id:{ Id}", model?.PreSaleWorkType, model?.Id); + _logger.LogInformation("ReadList. Id:{ Id}", model?.Id); var list = model == null ? _PreSaleWorkStorage.GetFullList() : _PreSaleWorkStorage.GetFilteredList(model); diff --git a/CarCenter/CarCenterBusinessLogic/BusinessLogics/SaleLogic.cs b/CarCenter/CarCenterBusinessLogic/BusinessLogics/SaleLogic.cs index 33d47a4..210ae1d 100644 --- a/CarCenter/CarCenterBusinessLogic/BusinessLogics/SaleLogic.cs +++ b/CarCenter/CarCenterBusinessLogic/BusinessLogics/SaleLogic.cs @@ -123,7 +123,7 @@ namespace CarCenterBusinessLogic.BusinessLogics throw new ArgumentNullException("Стоимость продажи не может быть меньше нуля", nameof(model.SalePrice)); } - _logger.LogInformation("Sale. DateCreate:{DateCreate}.SalePrice:{ SalePrice}. Id: { Id}", model.DateCreate, model.SalePrice, model.Id); + _logger.LogInformation("Sale. SaleName:{SaleName}.SalePrice:{ SalePrice}. Id: { Id}", model.SaleName, model.SalePrice, model.Id); } } } diff --git a/CarCenter/CarCenterDataBaseImplement/Implements/PreSaleWorkStorage.cs b/CarCenter/CarCenterDataBaseImplement/Implements/PreSaleWorkStorage.cs index 155b54c..d7b7b08 100644 --- a/CarCenter/CarCenterDataBaseImplement/Implements/PreSaleWorkStorage.cs +++ b/CarCenter/CarCenterDataBaseImplement/Implements/PreSaleWorkStorage.cs @@ -34,9 +34,9 @@ namespace CarCenterDataBaseImplement.Implements return new(); } using var context = new CarCenterDataBase(); - if (model.CarSalesId.HasValue) + if (model.SalesId.HasValue) return context.PreSaleWorks.Include(p => p.Sales).ThenInclude(p => p.Sale).Include(p => p.Completions).Where(x => x.ManagerId == model.ManagerId).Where(x => x.Sales.FirstOrDefault(y => y.SaleId == model.CarSalesId) != null).Select(x => x.GetViewModel).ToList(); - else if (model.SalesId.HasValue) + else if (model.CarSalesId.HasValue) return context.PreSaleWorks.Where(p => p.CompletionsId.HasValue).Include(p => p.Completions).ThenInclude(p => p.Cars).Where(x => x.Completions.Cars.FirstOrDefault(y => y.CarId == model.CarSalesId) != null).Select(x => x.GetViewModel).ToList(); else return context.PreSaleWorks.Include(p => p.Sales).ThenInclude(p => p.Sale).Include(p => p.Completions).Where(x => x.ManagerId == model.ManagerId).Select(x => x.GetViewModel).ToList(); diff --git a/CarCenter/CarCenterManagerAPP/Controllers/HomeController.cs b/CarCenter/CarCenterManagerAPP/Controllers/HomeController.cs index c39c4e4..1d76e7e 100644 --- a/CarCenter/CarCenterManagerAPP/Controllers/HomeController.cs +++ b/CarCenter/CarCenterManagerAPP/Controllers/HomeController.cs @@ -142,7 +142,7 @@ namespace ManagerApp.Controllers [HttpGet] public IActionResult CreatePreSaleWork(int id) { - var Sale = _data.GetSale(UserManager.manager!.Id); + var Sale = _data.GetSales(UserManager.manager!.Id); ViewBag.AllSale = Sale; if (id != 0) { @@ -293,7 +293,7 @@ namespace ManagerApp.Controllers HttpContext.Session.SetString("StartDate", startDate.ToString()); HttpContext.Session.SetString("EndDate", endDate.ToString()); - return RedirectToAction("CarsPeriodReport"); + return RedirectToAction("SalesPeriodReport"); } [HttpGet] public IActionResult SalesPeriodReport() diff --git a/CarCenter/CarCenterManagerAPP/ManagerData.cs b/CarCenter/CarCenterManagerAPP/ManagerData.cs index 0172ee8..91aead7 100644 --- a/CarCenter/CarCenterManagerAPP/ManagerData.cs +++ b/CarCenter/CarCenterManagerAPP/ManagerData.cs @@ -113,18 +113,18 @@ namespace ManagerApp public List GetTimeReport(DateTime? startDate, DateTime? endDate, int ManagerId) { - var Sale = _SaleLogic.ReadList(new() { DateFrom = startDate, DateTo = endDate, ManagerId = ManagerId }); - if (Sale == null) + var Sales = _SaleLogic.ReadList(new() { DateFrom = startDate, DateTo = endDate, ManagerId = ManagerId }); + if (Sales == null) return new(); List SalePeriodReports = new List(); - foreach (var sale in Sale) + foreach (var Sale in Sales) { var report = new SalesPeriodReportViewModel(); - report.SaleName = sale.SaleName; - var PreSaleWorks = _PreSaleWorkLogic.ReadList(new() { SalesId = sale.Id, ManagerId = ManagerId }); + report.SaleName = Sale.SaleName; + var PreSaleWorks = _PreSaleWorkLogic.ReadList(new() { SalesId = Sale.Id, ManagerId = ManagerId }); if (PreSaleWorks != null) report.PreSaleWork = PreSaleWorks.Select(p => p.PreSaleWorkType).ToList(); - var Employee = _employeeLogic.ReadList(new() { SaleId = sale.Id, ManagerId = ManagerId }); + var Employee = _employeeLogic.ReadList(new() { SaleId = Sale.Id, ManagerId = ManagerId }); if (Employee != null) report.Employee = Employee.Select(p => p.EmployeeFIO).ToList(); SalePeriodReports.Add(report); diff --git a/CarCenter/CarCenterManagerAPP/Views/Home/CreatePreSaleWork.cshtml b/CarCenter/CarCenterManagerAPP/Views/Home/CreatePreSaleWork.cshtml index 347949a..bfc67b5 100644 --- a/CarCenter/CarCenterManagerAPP/Views/Home/CreatePreSaleWork.cshtml +++ b/CarCenter/CarCenterManagerAPP/Views/Home/CreatePreSaleWork.cshtml @@ -1,51 +1,67 @@ @using CarCenterContracts.ViewModels -@model List +@model PreSaleWorkViewModel @{ ViewData["Title"] = "CreatePreSaleWork"; + ViewBag.Sales = Model.PreSaleWorkSales; }

Создание предпродажной работы

-
+
-
Название:
-
+
Тип предпродажной работы:
+
+ + +
+
Дата проведения предпродажной работы:
+
+ + +
-
PreSaleWork
+
Продажи
- +
- + + - @if (Model != null && Model.Any()) + @foreach (var Sale in ViewBag.Sales) { - @foreach (var sales in Model) - { - - - - - } - } - else - { - - + + + + + + }
Выбор НазваниеСтоимостьУдалить
- - @sales.SaleName
- - none
+ + @Sale.Value.SaleName + @Sale.Value.SalePrice
+ + +
+
+
Сумма:
+
@@ -57,6 +73,82 @@ \ No newline at end of file + diff --git a/CarCenter/CarCenterManagerAPP/Views/Home/IndexPreSaleWork.cshtml b/CarCenter/CarCenterManagerAPP/Views/Home/IndexPreSaleWork.cshtml index 5784dfa..bae5efe 100644 --- a/CarCenter/CarCenterManagerAPP/Views/Home/IndexPreSaleWork.cshtml +++ b/CarCenter/CarCenterManagerAPP/Views/Home/IndexPreSaleWork.cshtml @@ -64,7 +64,10 @@ Изменить - Удалить + + + + } diff --git a/CarCenter/CarCenterManagerAPP/Views/Home/Privacy.cshtml b/CarCenter/CarCenterManagerAPP/Views/Home/Privacy.cshtml index af4fb19..d31cd6d 100644 --- a/CarCenter/CarCenterManagerAPP/Views/Home/Privacy.cshtml +++ b/CarCenter/CarCenterManagerAPP/Views/Home/Privacy.cshtml @@ -1,6 +1,104 @@ @{ ViewData["Title"] = "Privacy Policy"; } -

@ViewData["Title"]

-

Use this page to detail your site's privacy policy.

+
+

Личные данные

+
+
+
+
Имя:
+
+ + +
+
+
+
Логин:
+
+ + +
+
+
+
Почта:
+
+ + +
+
+
+
Номер телефона:
+
+ + +
+
+
+
Пароль:
+
+ + +
+
+
+
+
+
+
+ + + diff --git a/CarCenter/CarCenterManagerAPP/Views/Home/ReportsMenu.cshtml b/CarCenter/CarCenterManagerAPP/Views/Home/ReportsMenu.cshtml index 262e728..0a41e73 100644 --- a/CarCenter/CarCenterManagerAPP/Views/Home/ReportsMenu.cshtml +++ b/CarCenter/CarCenterManagerAPP/Views/Home/ReportsMenu.cshtml @@ -5,7 +5,7 @@ diff --git a/CarCenter/CarCenterManagerAPP/Views/Home/SaleDateChoose.cshtml b/CarCenter/CarCenterManagerAPP/Views/Home/SaleDateChoose.cshtml new file mode 100644 index 0000000..fbb9873 --- /dev/null +++ b/CarCenter/CarCenterManagerAPP/Views/Home/SaleDateChoose.cshtml @@ -0,0 +1,76 @@ +@{ + ViewData["Title"] = "Создание отчета"; +} + +
+

Создание отчета

+
+
+
+
+ +
+
+ + +
+
+
+
+ +
+
+ + +
+
+
+
+ +
+
+
+ + + diff --git a/CarCenter/CarCenterManagerAPP/Views/Home/SalesPeriodReport.cshtml b/CarCenter/CarCenterManagerAPP/Views/Home/SalesPeriodReport.cshtml index 9e5025a..ee82f6b 100644 --- a/CarCenter/CarCenterManagerAPP/Views/Home/SalesPeriodReport.cshtml +++ b/CarCenter/CarCenterManagerAPP/Views/Home/SalesPeriodReport.cshtml @@ -20,7 +20,7 @@ Продажа Сотрудники - Комплектации + Предпродажные работы @@ -37,7 +37,12 @@ - +
    + @foreach (var presalework in sales.PreSaleWork) + { +
  • @presalework
  • + } +
} diff --git a/CarCenter/CarCenterManagerAPP/Views/Shared/_Layout.cshtml b/CarCenter/CarCenterManagerAPP/Views/Shared/_Layout.cshtml index 927f226..2c379bb 100644 --- a/CarCenter/CarCenterManagerAPP/Views/Shared/_Layout.cshtml +++ b/CarCenter/CarCenterManagerAPP/Views/Shared/_Layout.cshtml @@ -1,4 +1,7 @@ - +@{ + ViewData["Login"] = UserManager.manager == null ? "Пользователь" : UserManager.manager.ManagerLogin; +} + @@ -13,6 +16,7 @@