From 110b91bd1ba3e5b27f610295f1baadf56244b971 Mon Sep 17 00:00:00 2001 From: antoc0der <1@DESKTOP-K1L8ND3> Date: Tue, 26 Mar 2024 22:55:11 +0400 Subject: [PATCH] =?UTF-8?q?=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0?= =?UTF-8?q?=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0?= =?UTF-8?q?=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0?= =?UTF-8?q?=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0?= =?UTF-8?q?=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0?= =?UTF-8?q?=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0?= =?UTF-8?q?=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0?= =?UTF-8?q?=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0?= =?UTF-8?q?=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0?= =?UTF-8?q?=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0?= =?UTF-8?q?=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0?= =?UTF-8?q?=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../OfficePackage/AbstractSaveToExcel.cs | 8 +++--- .../OfficePackage/AbstractSaveToWord.cs | 4 +-- .../OfficePackage/HelperModels/WordInfo.cs | 2 +- FlowerShopBusinessLogic/ReportLogic.cs | 25 +++++++++---------- .../ReportFlowerComponentViewModel.cs | 4 +-- FlowerShopDatabaseImplement/OrderStorage.cs | 6 ++--- FlowerShopFileImplement/OrderStorage.cs | 4 ++- FlowerShopListImplement/OrderStorage.cs | 2 +- .../FormReportFlowerComponent.Designer.cs | 22 ++++++++-------- .../FormReportFlowerComponent.cs | 8 +++--- .../FormReportFlowerComponent.resx | 11 +------- .../FormReportOrders.Designer.cs | 2 +- 12 files changed, 44 insertions(+), 54 deletions(-) diff --git a/FlowerShopBusinessLogic/OfficePackage/AbstractSaveToExcel.cs b/FlowerShopBusinessLogic/OfficePackage/AbstractSaveToExcel.cs index 3b36e74..1f6abe9 100644 --- a/FlowerShopBusinessLogic/OfficePackage/AbstractSaveToExcel.cs +++ b/FlowerShopBusinessLogic/OfficePackage/AbstractSaveToExcel.cs @@ -36,17 +36,17 @@ namespace FlowerShopBusinessLogic.OfficePackage { ColumnName = "A", RowIndex = rowIndex, - Text = pc.ComponentName, + Text = pc.FlowerName, StyleInfo = ExcelStyleInfoType.Text }); rowIndex++; - foreach (var product in pc.Flowers) + foreach (var component in pc.Components) { InsertCellInWorksheet(new ExcelCellParameters { ColumnName = "B", RowIndex = rowIndex, - Text = product.Item1, + Text = component.Item1, StyleInfo = ExcelStyleInfoType.TextWithBroder }); @@ -54,7 +54,7 @@ namespace FlowerShopBusinessLogic.OfficePackage { ColumnName = "C", RowIndex = rowIndex, - Text = product.Item2.ToString(), + Text = component.Item2.ToString(), StyleInfo = ExcelStyleInfoType.TextWithBroder }); diff --git a/FlowerShopBusinessLogic/OfficePackage/AbstractSaveToWord.cs b/FlowerShopBusinessLogic/OfficePackage/AbstractSaveToWord.cs index f59357c..4d00419 100644 --- a/FlowerShopBusinessLogic/OfficePackage/AbstractSaveToWord.cs +++ b/FlowerShopBusinessLogic/OfficePackage/AbstractSaveToWord.cs @@ -22,11 +22,11 @@ namespace FlowerShopBusinessLogic.OfficePackage JustificationType = WordJustificationType.Center } }); - foreach (var component in info.Components) + foreach (var flower in info.Flowers) { CreateParagraph(new WordParagraph { - Texts = new List<(string, WordTextProperties)> { (component.ComponentName, new WordTextProperties { Size = "24", }) }, + Texts = new List<(string, WordTextProperties)> { (flower.FlowerName, new WordTextProperties { Size = "24", }) }, TextProperties = new WordTextProperties { Size = "24", diff --git a/FlowerShopBusinessLogic/OfficePackage/HelperModels/WordInfo.cs b/FlowerShopBusinessLogic/OfficePackage/HelperModels/WordInfo.cs index 248cacd..6d8fc83 100644 --- a/FlowerShopBusinessLogic/OfficePackage/HelperModels/WordInfo.cs +++ b/FlowerShopBusinessLogic/OfficePackage/HelperModels/WordInfo.cs @@ -11,6 +11,6 @@ namespace FlowerShopBusinessLogic.OfficePackage.HelperModels { public string FileName { get; set; } = string.Empty; public string Title { get; set; } = string.Empty; - public List Components { get; set; } = new(); + public List Flowers { get; set; } = new(); } } diff --git a/FlowerShopBusinessLogic/ReportLogic.cs b/FlowerShopBusinessLogic/ReportLogic.cs index 0c2e114..6a6903f 100644 --- a/FlowerShopBusinessLogic/ReportLogic.cs +++ b/FlowerShopBusinessLogic/ReportLogic.cs @@ -39,24 +39,23 @@ namespace FlowerShopBusinessLogic /// public List GetFlowerComponent() { - var components = _componentStorage.GetFullList(); + //var components = _componentStorage.GetFullList(); var flowers = _flowerStorage.GetFullList(); var list = new List(); - foreach (var component in components) + foreach (var flower in flowers) { var record = new ReportFlowerComponentViewModel { - ComponentName = component.ComponentName, - Flowers = new List>(), + FlowerName = flower.FlowerName, + Components = new List>(), TotalCount = 0 }; - foreach (var flower in flowers) + foreach (var component in flower.FlowerComponents) { - if (flower.FlowerComponents.ContainsKey(component.Id)) - { - record.Flowers.Add(new Tuple(flower.FlowerName, flower.FlowerComponents[component.Id].Item2)); - record.TotalCount +=flower.FlowerComponents[component.Id].Item2; - } + record.Components.Add(new Tuple(component.Value.Item1.ComponentName, component.Value.Item2)); + record.TotalCount += + component.Value.Item2; } list.Add(record); } @@ -94,8 +93,8 @@ namespace FlowerShopBusinessLogic _saveToWord.CreateDoc(new WordInfo { FileName = model.FileName, - Title = "Список компонент", - Components = _componentStorage.GetFullList() + Title = "Список цветов", + Flowers = _flowerStorage.GetFullList() }); } /// @@ -107,7 +106,7 @@ namespace FlowerShopBusinessLogic _saveToExcel.CreateReport(new ExcelInfo { FileName = model.FileName, - Title = "Список компонент", + Title = "Список компонентов", FlowerComponents = GetFlowerComponent() }); } diff --git a/FlowerShopContracts/ViewModels/ReportFlowerComponentViewModel.cs b/FlowerShopContracts/ViewModels/ReportFlowerComponentViewModel.cs index 670209e..895e6e3 100644 --- a/FlowerShopContracts/ViewModels/ReportFlowerComponentViewModel.cs +++ b/FlowerShopContracts/ViewModels/ReportFlowerComponentViewModel.cs @@ -8,8 +8,8 @@ namespace FlowerShopContracts.ViewModels { public class ReportFlowerComponentViewModel { - public string ComponentName { get; set; } = string.Empty; + public string FlowerName { get; set; } = string.Empty; public int TotalCount { get; set; } - public List> Flowers { get; set; } = new(); + public List> Components { get; set; } = new(); } } diff --git a/FlowerShopDatabaseImplement/OrderStorage.cs b/FlowerShopDatabaseImplement/OrderStorage.cs index f0d107a..e510260 100644 --- a/FlowerShopDatabaseImplement/OrderStorage.cs +++ b/FlowerShopDatabaseImplement/OrderStorage.cs @@ -24,10 +24,8 @@ namespace FlowerShopDatabaseImplement.Implements } public List GetFilteredList(OrderSearchModel model) { - if (!model.Id.HasValue) - { - return new(); - } + + using var context = new FlowerShopDataBase(); return context.Orders.Include(x => x.Flower) .Where(x => ((!model.Id.HasValue || x.Id == model.Id) && diff --git a/FlowerShopFileImplement/OrderStorage.cs b/FlowerShopFileImplement/OrderStorage.cs index 65a5196..3419e98 100644 --- a/FlowerShopFileImplement/OrderStorage.cs +++ b/FlowerShopFileImplement/OrderStorage.cs @@ -34,7 +34,9 @@ namespace FlowerShopFileImplement.Implements return new(); } return source.Orders - .Where(x => x.Id == model.Id) + .Where(x => ((!model.Id.HasValue || x.Id == model.Id) && + (!model.DateFrom.HasValue || x.DateCreate >= model.DateFrom) && + (!model.DateTo.HasValue || x.DateCreate <= model.DateTo))) .Select(x => AccessFlowerStorage(x.GetViewModel)) .ToList(); } diff --git a/FlowerShopListImplement/OrderStorage.cs b/FlowerShopListImplement/OrderStorage.cs index 4e2d6e7..8a06835 100644 --- a/FlowerShopListImplement/OrderStorage.cs +++ b/FlowerShopListImplement/OrderStorage.cs @@ -37,7 +37,7 @@ namespace FlowerShopListImplement.Implements } foreach (var order in _source.Orders) { - if (order.Id == model.Id) + if (order.Id == model.Id && model.DateFrom <= order.DateCreate && model.DateTo >= order.DateCreate) { result.Add(AccessFlowerStorage(order.GetViewModel)); } diff --git a/ProjectFlowerShop/FormReportFlowerComponent.Designer.cs b/ProjectFlowerShop/FormReportFlowerComponent.Designer.cs index 112e00a..72886e0 100644 --- a/ProjectFlowerShop/FormReportFlowerComponent.Designer.cs +++ b/ProjectFlowerShop/FormReportFlowerComponent.Designer.cs @@ -30,8 +30,8 @@ { buttonSaveToExcel = new Button(); dataGridView = new DataGridView(); + Flowerr = new DataGridViewTextBoxColumn(); Component = new DataGridViewTextBoxColumn(); - Flower = new DataGridViewTextBoxColumn(); Count = new DataGridViewTextBoxColumn(); ((System.ComponentModel.ISupportInitialize)dataGridView).BeginInit(); SuspendLayout(); @@ -49,7 +49,7 @@ // dataGridView // dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; - dataGridView.Columns.AddRange(new DataGridViewColumn[] { Component, Flower, Count }); + dataGridView.Columns.AddRange(new DataGridViewColumn[] { Flowerr, Component, Count }); dataGridView.Location = new Point(12, 65); dataGridView.Name = "dataGridView"; dataGridView.RowHeadersWidth = 51; @@ -57,6 +57,13 @@ dataGridView.Size = new Size(812, 359); dataGridView.TabIndex = 1; // + // Flowerr + // + Flowerr.HeaderText = "Цветок"; + Flowerr.MinimumWidth = 6; + Flowerr.Name = "Flowerr"; + Flowerr.Width = 250; + // // Component // Component.HeaderText = "Компонент"; @@ -64,13 +71,6 @@ Component.Name = "Component"; Component.Width = 250; // - // Flower - // - Flower.HeaderText = "Изделие"; - Flower.MinimumWidth = 6; - Flower.Name = "Flower"; - Flower.Width = 250; - // // Count // Count.HeaderText = "Количество"; @@ -86,7 +86,7 @@ Controls.Add(dataGridView); Controls.Add(buttonSaveToExcel); Name = "FormReportFlowerComponent"; - Text = "FormReportFlowerComponent"; + Text = "Компоненты цветов"; Load += FormReportFlowerComponent_Load; ((System.ComponentModel.ISupportInitialize)dataGridView).EndInit(); ResumeLayout(false); @@ -96,8 +96,8 @@ private Button buttonSaveToExcel; private DataGridView dataGridView; + private DataGridViewTextBoxColumn Flowerr; private DataGridViewTextBoxColumn Component; - private DataGridViewTextBoxColumn Flower; private DataGridViewTextBoxColumn Count; } } \ No newline at end of file diff --git a/ProjectFlowerShop/FormReportFlowerComponent.cs b/ProjectFlowerShop/FormReportFlowerComponent.cs index 22ebc96..b00888c 100644 --- a/ProjectFlowerShop/FormReportFlowerComponent.cs +++ b/ProjectFlowerShop/FormReportFlowerComponent.cs @@ -42,14 +42,14 @@ namespace ProjectFlowerShop FileName = dialog.FileName }); _logger.LogInformation("Сохранение списка изделий по компонентам"); - + MessageBox.Show("Выполнено", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { _logger.LogError(ex, "Ошибка сохранения списка изделий по компонентам"); - + MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } @@ -66,8 +66,8 @@ namespace ProjectFlowerShop dataGridView.Rows.Clear(); foreach (var elem in dict) { - dataGridView.Rows.Add(new object[] { elem.ComponentName, "", "" }); - foreach (var listElem in elem.Flowers) + dataGridView.Rows.Add(new object[] { elem.FlowerName, "", "" }); + foreach (var listElem in elem.Components) { dataGridView.Rows.Add(new object[] { "", listElem.Item1, listElem.Item2 }); } diff --git a/ProjectFlowerShop/FormReportFlowerComponent.resx b/ProjectFlowerShop/FormReportFlowerComponent.resx index bbda938..75ff82b 100644 --- a/ProjectFlowerShop/FormReportFlowerComponent.resx +++ b/ProjectFlowerShop/FormReportFlowerComponent.resx @@ -117,21 +117,12 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - True - - - True - - + True True - - True - True diff --git a/ProjectFlowerShop/FormReportOrders.Designer.cs b/ProjectFlowerShop/FormReportOrders.Designer.cs index 1fd958c..79ddb6f 100644 --- a/ProjectFlowerShop/FormReportOrders.Designer.cs +++ b/ProjectFlowerShop/FormReportOrders.Designer.cs @@ -119,7 +119,7 @@ Controls.Add(panel1); Controls.Add(panel); Name = "FormReportOrders"; - Text = "FormReportOrders"; + Text = "Отчет по заказам"; panel.ResumeLayout(false); panel.PerformLayout(); ResumeLayout(false);