From e3fda489a500e2f1d998ad8cf8032d00c5824c79 Mon Sep 17 00:00:00 2001 From: Ilfedotov Date: Wed, 7 Aug 2024 21:48:54 +0400 Subject: [PATCH] docx is done --- .../BusinessLogic/PaymeantLogic.cs | 8 -- .../BusinessLogic/ReportClientLogic.cs | 57 +++++++-- .../BusinessLogicContracts/IPaymeantLogic.cs | 3 - .../IReportClientLogic.cs | 2 +- .../Controllers/ClientController.cs | 31 ++++- ElectronicsShop/ElectronicsShopRestAPI/Report | Bin 34813 -> 36489 bytes .../Controllers/HomeController.cs | 49 ++++---- .../Views/Home/Report.cshtml | 119 +++++++++--------- .../Views/Home/ReportSearch.cshtml | 4 +- .../Views/Home/ReportSearchFix.cshtml | 66 +++++++++- 10 files changed, 222 insertions(+), 117 deletions(-) diff --git a/ElectronicsShop/ElectronicsShopBusinessLogic/BusinessLogic/PaymeantLogic.cs b/ElectronicsShop/ElectronicsShopBusinessLogic/BusinessLogic/PaymeantLogic.cs index 3444f42..37df295 100644 --- a/ElectronicsShop/ElectronicsShopBusinessLogic/BusinessLogic/PaymeantLogic.cs +++ b/ElectronicsShop/ElectronicsShopBusinessLogic/BusinessLogic/PaymeantLogic.cs @@ -78,14 +78,6 @@ namespace ElectronicsShopBusinessLogic.BusinessLogic $".PayOption{model.PayOption}"); } - public bool SetFullPayment(PaymeantBindingModel model) { - throw new NotImplementedException(); - } - - public bool SetPartialPayemnt(PaymeantBindingModel model) { - throw new NotImplementedException(); - } - public bool SetStatus(PaymeantBindingModel model, PaymeantOption paymeantOption) { CheckModel(model, false); model.PayOption = paymeantOption; diff --git a/ElectronicsShop/ElectronicsShopBusinessLogic/BusinessLogic/ReportClientLogic.cs b/ElectronicsShop/ElectronicsShopBusinessLogic/BusinessLogic/ReportClientLogic.cs index 58a2bd3..4b23c64 100644 --- a/ElectronicsShop/ElectronicsShopBusinessLogic/BusinessLogic/ReportClientLogic.cs +++ b/ElectronicsShop/ElectronicsShopBusinessLogic/BusinessLogic/ReportClientLogic.cs @@ -35,17 +35,25 @@ namespace ElectronicsShopBusinessLogic.BusinessLogic } // Получение списка оплаченных товаров за период - public List? GetProducts (ReportBindingModel model) { - var paymeants = _paymeantstorage.GetFillteredList(new PaymeantSearchModel { - DateFrom = model.DateFrom, - DateTo = model.DateTo, - ClientID = model.ClientID, - }); + public List? GetProducts (ReportBindingModel? model = null, List? paymeants = null) { + + List paymeantList = new(); + + if (model != null) { + paymeantList = _paymeantstorage.GetFillteredList(new PaymeantSearchModel { + DateFrom = model.DateFrom, + DateTo = model.DateTo, + ClientID = model.ClientID, + }); + } + else if (paymeants != null){ + paymeantList = paymeants; + } List? products = new(); - foreach (var paymeant in paymeants) { + foreach (var paymeant in paymeantList) { var order = _orderStorage.GetElement(new OrderSearchModel { ID = paymeant.OrderID }) ?? throw new Exception("Ошибка полуения данных"); @@ -65,7 +73,33 @@ namespace ElectronicsShopBusinessLogic.BusinessLogic return products; } - // получение списка оплат за период + public List? GetProductsFix(List paymeants) { + + List? products = new(); + + + foreach (var paymeant in paymeants) { + var order = _orderStorage.GetElement(new OrderSearchModel { ID = paymeant.OrderID }) + ?? throw new Exception("Ошибка полуения данных"); + + foreach (var product in order.ProductList) { + products.Add(new ReportProductsViewModel { + ID = product.Value.Item1.ID, + ProductName = product.Value.Item1.ProductName, + Price = product.Value.Item1.Price, + CostItemName = _costItemStorage.GetElement(new CostItemSearchModel { ID = product.Value.Item1.CostItemID })?.Name + ?? "Отсутствует", + PaymentID = paymeant.ID, + count = product.Value.Item2 + }); + } + } + + return products; + } + + + // получение списка оплат за период public List? GetPaymeants(ReportBindingModel model) { return _paymeantstorage.GetFillteredList(new PaymeantSearchModel { @@ -128,14 +162,11 @@ namespace ElectronicsShopBusinessLogic.BusinessLogic return document; } - public byte[]? SavePaymeantToWordFile(ReportBindingModel model) + public byte[]? SavePaymeantToWordFile(List paymeants) { var document = _saveToWord.CreateDoc(new WordInfoClient { Title = "Список оплат", - - DateFrom = model.DateFrom, - DateTo = model.DateTo, - Products = GetProducts(model) + Products = GetProductsFix(paymeants) }); return document; } diff --git a/ElectronicsShop/ElectronicsShopContracts/BusinessLogicContracts/IPaymeantLogic.cs b/ElectronicsShop/ElectronicsShopContracts/BusinessLogicContracts/IPaymeantLogic.cs index a5b72ec..79f36bc 100644 --- a/ElectronicsShop/ElectronicsShopContracts/BusinessLogicContracts/IPaymeantLogic.cs +++ b/ElectronicsShop/ElectronicsShopContracts/BusinessLogicContracts/IPaymeantLogic.cs @@ -18,8 +18,5 @@ namespace ElectronicsShopContracts.BusinessLogicContracts bool CreatePay(PaymeantBindingModel model); bool SetStatus(PaymeantBindingModel model, PaymeantOption paymeantOption); - - bool SetFullPayment(PaymeantBindingModel model); - bool SetPartialPayemnt(PaymeantBindingModel model); } } diff --git a/ElectronicsShop/ElectronicsShopContracts/BusinessLogicContracts/IReportClientLogic.cs b/ElectronicsShop/ElectronicsShopContracts/BusinessLogicContracts/IReportClientLogic.cs index 2ae3eed..812d043 100644 --- a/ElectronicsShop/ElectronicsShopContracts/BusinessLogicContracts/IReportClientLogic.cs +++ b/ElectronicsShop/ElectronicsShopContracts/BusinessLogicContracts/IReportClientLogic.cs @@ -18,7 +18,7 @@ namespace ElectronicsShopContracts.BusinessLogicContracts List? GetPaymeants(ReportBindingModel model); // Сохранение отчета оплат в .word - byte[]? SavePaymeantToWordFile(ReportBindingModel model); + byte[]? SavePaymeantToWordFile(List paymeants); // Сохранение отчета оплат с товарами в .excel byte[]? SavePaymeantToExcelFile(ReportBindingModel model); diff --git a/ElectronicsShop/ElectronicsShopRestAPI/Controllers/ClientController.cs b/ElectronicsShop/ElectronicsShopRestAPI/Controllers/ClientController.cs index e3c59bc..d33de73 100644 --- a/ElectronicsShop/ElectronicsShopRestAPI/Controllers/ClientController.cs +++ b/ElectronicsShop/ElectronicsShopRestAPI/Controllers/ClientController.cs @@ -159,6 +159,18 @@ namespace ElectronicsShopRestAPI.Controllers { throw; } } + + [HttpGet] + public PaymeantViewModel? GetPaymeant(int _paymeantID) { + try { + return _payLogic?.ReadElement(new PaymeantSearchModel { ID = _paymeantID }); + } + catch (Exception ex) { + _logger.LogError(ex, $"ошибка получения данных об оплате id = {_paymeantID}"); + throw; + } + } + [HttpGet] public List? GetReport(string _start,string _end) { try { @@ -191,13 +203,20 @@ namespace ElectronicsShopRestAPI.Controllers { } [HttpGet] - public byte[]? CreateDocxReport (int _clientID, string DateFrom, string DateTo) { + public byte[]? CreateDocxReport (string _ids) { try { - var document = _reportLogic.SavePaymeantToWordFile (new ReportBindingModel { - ClientID = _clientID, - DateFrom = DateTime.Parse(DateFrom), - DateTo = DateTime.Parse(DateTo) - }); + + List _paymeants = new(); + + foreach (char i in _ids) { + if (int.TryParse(i.ToString(), out int id)) { + var paymeant = _payLogic.ReadElement(new PaymeantSearchModel { ID = id }) ?? throw new Exception("Ошибка получения данных"); + _paymeants.Add(paymeant); + } + } + + var document = _reportLogic.SavePaymeantToWordFile(_paymeants); + return document; } catch (Exception ex) { diff --git a/ElectronicsShop/ElectronicsShopRestAPI/Report b/ElectronicsShop/ElectronicsShopRestAPI/Report index 3d80497dbc739468bd56944de76b972770fb5cb3..2e2ab6952f7814987a787b77fbded7448f094df5 100644 GIT binary patch delta 33534 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 DateTo) { - throw new Exception(" "); - } - Response.Redirect($"ReportSearch?_datefrom={DateFrom}&_dateto={DateTo + DateTime.Now.TimeOfDay}"); + if (DateTo == DateTime.MinValue || DateFrom > DateTo) { + throw new Exception(" "); } - else { - if (ids.Length == 0) { - throw new Exception(" 0"); - } - } - } + Response.Redirect($"ReportSearch?_datefrom={DateFrom}&_dateto={DateTo + DateTime.Now.TimeOfDay}"); + } [HttpGet] public IActionResult ReportSearch(string _datefrom, string _dateto) { @@ -317,8 +309,24 @@ namespace ElectronicsShopUserApp.Controllers { } [HttpGet] - public IActionResult ReportSearchFix(string jsonStr) { - return View(); + public IActionResult ReportSearchFix() { + string strUrl = Request.GetDisplayUrl(); + strUrl = strUrl.Replace("https://localhost:7219/Home/ReportSearchFix/", ""); + + string ids = ""; + List paymeantsFix = new(); + foreach (char i in strUrl) { + if (int.TryParse(i.ToString(), out int id)) { + var paymeant = APIClient.GetRequset($"api/Client/GetPaymeant?_paymeantID={id}") ?? + throw new Exception (" "); + paymeantsFix.Add(paymeant); + ids += "/" + id; + } + } + + (List, string) tuple = (paymeantsFix, ids); + + return View(tuple); } [HttpGet] @@ -334,18 +342,15 @@ namespace ElectronicsShopUserApp.Controllers { } [HttpGet] - public IActionResult CreateWordReport(string idsStr) { - /* - var fileMemStream = APIClient.GetRequset($"api/client/CreateDocxReport?_clientID={APIClient.Client?.ID}&DateFrom={DateFrom}&" + - $"DateTo={DateTo}"); + public IActionResult CreateWordReport(string ids) { + + var fileMemStream = APIClient.GetRequset($"api/client/CreateDocxReport?_ids={ids}"); if (fileMemStream == null) { throw new Exception(" "); } return File(fileMemStream, "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "Report.docx"); - */ - return View(); } [HttpGet] @@ -356,7 +361,7 @@ namespace ElectronicsShopUserApp.Controllers { DateTo = DateTime.Parse(DateTo), ClientID = APIClient.Client.ID }); - return View("Report"); + return Redirect("Report"); } } } \ No newline at end of file diff --git a/ElectronicsShop/ElectronicsShopShopClientApp/Views/Home/Report.cshtml b/ElectronicsShop/ElectronicsShopShopClientApp/Views/Home/Report.cshtml index 2df5e0c..01670c3 100644 --- a/ElectronicsShop/ElectronicsShopShopClientApp/Views/Home/Report.cshtml +++ b/ElectronicsShop/ElectronicsShopShopClientApp/Views/Home/Report.cshtml @@ -41,61 +41,61 @@
@{ if (Model == null) { -

Авторизируйтесь

+

Авторизируйтесь

return; } -
- -
+
+ +
- - - - - - - - - - - - - @foreach (var item in Model) { - - - - - - - - +
- Номер - - Номер заказа - - Сумма к оплате - - Статус оплаты - - Дата оплаты - - Выбрать все -
- @Html.DisplayFor(modelItem => item.ID) - - @Html.DisplayFor(modelItem => item.OrderID) - - @Html.DisplayFor(modelItem => item.SumPayment) - - @Html.DisplayFor(modelItem => item.PayOption) - - @Html.DisplayFor(modelItem => item.DatePaymeant) - - -
+ + + + + + + + + + + + @foreach (var item in Model) { + + + + + + + + } - -
+ Номер + + Номер заказа + + Сумма к оплате + + Статус оплаты + + Дата оплаты + + Выбрать все +
+ @Html.DisplayFor(modelItem => item.ID) + + @Html.DisplayFor(modelItem => item.OrderID) + + @Html.DisplayFor(modelItem => item.SumPayment) + + @Html.DisplayFor(modelItem => item.PayOption) + + @Html.DisplayFor(modelItem => item.DatePaymeant) + + +
+ + }
@@ -124,13 +124,14 @@ val.push($(this).val()); }); - $.ajax({ - type: 'POST', - url: '/Home/Report', - data: { 'ids': val, '_isFixReport': true}, - success: function (result) { - $("#idsStr").val(result); - } - }); + + var str = 'ids='; + for (let i = 0; i < val.length - 1; i++) { + str += val[i] + '&=' + } + str += val[val.length - 1]; + + window.location.href = "ReportSearchFix/" + str; + }); \ No newline at end of file diff --git a/ElectronicsShop/ElectronicsShopShopClientApp/Views/Home/ReportSearch.cshtml b/ElectronicsShop/ElectronicsShopShopClientApp/Views/Home/ReportSearch.cshtml index 10d1727..d0ec5cf 100644 --- a/ElectronicsShop/ElectronicsShopShopClientApp/Views/Home/ReportSearch.cshtml +++ b/ElectronicsShop/ElectronicsShopShopClientApp/Views/Home/ReportSearch.cshtml @@ -3,13 +3,13 @@ @model (DateTime, DateTime, List) @{ - ViewData["Title"] = "Reports"; + ViewData["Title"] = "ReportSearch"; }