From 831bc7d429efaf39e7e203c52583ed7f3184f8d5 Mon Sep 17 00:00:00 2001 From: "evasina2312@gmail.com" Date: Tue, 18 Apr 2023 14:24:35 +0400 Subject: [PATCH] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ComputersShop/FormReportOrders.cs | 43 ++++++++++--------- .../OfficePackage/AbstractSaveToPdf.cs | 12 ++++-- .../ViewModels/ReportOrderViewModel.cs | 2 +- 3 files changed, 31 insertions(+), 26 deletions(-) diff --git a/ComputersShop/ComputersShop/FormReportOrders.cs b/ComputersShop/ComputersShop/FormReportOrders.cs index 1aeaaba..8ce5c04 100644 --- a/ComputersShop/ComputersShop/FormReportOrders.cs +++ b/ComputersShop/ComputersShop/FormReportOrders.cs @@ -18,10 +18,10 @@ namespace ComputersShopView InitializeComponent(); _logger = logger; _logic = logic; - reportViewer = new ReportViewer - { - Dock = DockStyle.Fill - }; + reportViewer = new ReportViewer + { + Dock = DockStyle.Fill + }; reportViewer.LocalReport.LoadReportDefinition(new FileStream("ReportOrders.rdlc", FileMode.Open)); Controls.Clear(); Controls.Add(reportViewer); @@ -45,7 +45,7 @@ namespace ComputersShopView var source = new ReportDataSource("DataSetOrders", dataSource); reportViewer.LocalReport.DataSources.Clear(); reportViewer.LocalReport.DataSources.Add(source); - var parameters = new[] { new ReportParameter("ReportParameterPeriod", $"c {dateTimePickerFrom.Value.ToShortDateString()} по {dateTimePickerTo.Value.ToShortDateString()}") }; + var parameters = new[] { new ReportParameter("ReportParameterPeriod", $"c {dateTimePickerFrom.Value.ToShortDateString()} по {dateTimePickerTo.Value.ToShortDateString()}") }; reportViewer.LocalReport.SetParameters(parameters); reportViewer.RefreshReport(); @@ -65,26 +65,27 @@ namespace ComputersShopView MessageBox.Show("Дата начала должна быть меньше даты окончания", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } - using var dialog = new SaveFileDialog { Filter = "pdf|*.pdf" }; - if (dialog.ShowDialog() == DialogResult.OK) - { - try - { - _logic.SaveOrdersToPdfFile(new ReportBindingModel - { - FileName = dialog.FileName, - DateFrom = dateTimePickerFrom.Value, - DateTo = dateTimePickerTo.Value - }); + using var dialog = new SaveFileDialog { Filter = "pdf|*.pdf" }; + if (dialog.ShowDialog() == DialogResult.OK) + { + try + { + _logic.SaveOrdersToPdfFile(new ReportBindingModel + { + FileName = dialog.FileName, + DateFrom = dateTimePickerFrom.Value, + DateTo = dateTimePickerTo.Value + }); _logger.LogInformation("Сохранение списка заказов на период {From}-{To}", dateTimePickerFrom.Value.ToShortDateString(), dateTimePickerTo.Value.ToShortDateString()); MessageBox.Show("Выполнено", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information); - } - catch (Exception ex) + } + + catch (Exception ex) { _logger.LogError(ex, "Ошибка сохранения списка заказов на период"); MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); - } - } - } + } + } + } } } \ No newline at end of file diff --git a/ComputersShop/ComputersShopBusinessLogic/OfficePackage/AbstractSaveToPdf.cs b/ComputersShop/ComputersShopBusinessLogic/OfficePackage/AbstractSaveToPdf.cs index 2c89789..b38789d 100644 --- a/ComputersShop/ComputersShopBusinessLogic/OfficePackage/AbstractSaveToPdf.cs +++ b/ComputersShop/ComputersShopBusinessLogic/OfficePackage/AbstractSaveToPdf.cs @@ -17,12 +17,14 @@ namespace ComputersShopBusinessLogic.OfficePackage }); CreateParagraph(new PdfParagraph { - Text = $"с{ info.DateFrom.ToShortDateString() } по { info.DateTo.ToShortDateString() }", Style = "Normal", ParagraphAlignment = PdfParagraphAlignmentType.Center + Text = $"с{info.DateFrom.ToShortDateString()} по {info.DateTo.ToShortDateString()}", + Style = "Normal", + ParagraphAlignment = PdfParagraphAlignmentType.Center }); - CreateTable(new List { "2cm", "3cm", "6cm", "3cm" }); + CreateTable(new List { "2cm", "3cm", "6cm", "3cm", "4cm" }); CreateRow(new PdfRowParameters { - Texts = new List { "Номер", "Дата заказа", "Изделие", "Сумма" , "Статус"}, + Texts = new List { "Номер", "Дата заказа", "Изделие", "Сумма", "Статус" }, Style = "NormalTitle", ParagraphAlignment = PdfParagraphAlignmentType.Center }); @@ -37,7 +39,9 @@ namespace ComputersShopBusinessLogic.OfficePackage } CreateParagraph(new PdfParagraph { - Text = $"Итого: {info.Orders.Sum(x => x.Sum)}\t", Style = "Normal", ParagraphAlignment = PdfParagraphAlignmentType.Right + Text = $"Итого: {info.Orders.Sum(x => x.Sum)}\t", + Style = "Normal", + ParagraphAlignment = PdfParagraphAlignmentType.Right }); SavePdf(info); } diff --git a/ComputersShop/ComputersShopContracts/ViewModels/ReportOrderViewModel.cs b/ComputersShop/ComputersShopContracts/ViewModels/ReportOrderViewModel.cs index 69e3908..4090c90 100644 --- a/ComputersShop/ComputersShopContracts/ViewModels/ReportOrderViewModel.cs +++ b/ComputersShop/ComputersShopContracts/ViewModels/ReportOrderViewModel.cs @@ -7,7 +7,7 @@ namespace ComputersShopContracts.ViewModels public int Id { get; set; } public DateTime DateCreate { get; set; } public string ComputerName { get; set; } = string.Empty; - public string Status { get; set; } = OrderStatus.Неизвестен.ToString(); public double Sum { get; set; } + public string Status { get; set; } = OrderStatus.Неизвестен.ToString(); } }