From 1676bfd40a5e15a47af0e0bf376287c810d41e78 Mon Sep 17 00:00:00 2001 From: Programmist73 Date: Mon, 27 Mar 2023 12:33:55 +0400 Subject: [PATCH] =?UTF-8?q?=D0=9C=D0=B5=D0=BB=D0=BA=D0=B8=D0=B5=20=D0=BF?= =?UTF-8?q?=D1=80=D0=B0=D0=B2=D0=BA=D0=B8.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BlacksmithWorkshop/FormCreateOrder.cs | 15 +++++++++-- .../BusinessLogic/OrderLogic.cs | 7 ++++- .../Implements/OrderStorage.cs | 27 ++++++++++++++----- 3 files changed, 39 insertions(+), 10 deletions(-) diff --git a/BlacksmithWorkshop/BlacksmithWorkshop/FormCreateOrder.cs b/BlacksmithWorkshop/BlacksmithWorkshop/FormCreateOrder.cs index 749b5a0..c2ddd18 100644 --- a/BlacksmithWorkshop/BlacksmithWorkshop/FormCreateOrder.cs +++ b/BlacksmithWorkshop/BlacksmithWorkshop/FormCreateOrder.cs @@ -23,13 +23,16 @@ namespace BlacksmithWorkshop private readonly IOrderLogic _logicO; - public FormCreateOrder(ILogger logger, IManufactureLogic logicM, IOrderLogic logicO) + private readonly IClientLogic _logicCl; + + public FormCreateOrder(ILogger logger, IManufactureLogic logicM, IOrderLogic logicO, IClientLogic logicCl) { InitializeComponent(); _logger = logger; _logicM = logicM; _logicO = logicO; + _logicCl = logicCl; } private void FormCreateOrder_Load(object sender, EventArgs e) @@ -39,6 +42,7 @@ namespace BlacksmithWorkshop try { var list = _logicM.ReadList(null); + var listClients = _logicCl.ReadList(null); if (list != null) { @@ -48,10 +52,17 @@ namespace BlacksmithWorkshop comboBoxManufacture.SelectedItem = null; } + if(listClients != null) + { + comboBoxClient.DisplayMember = "ClientFIO"; + comboBoxClient.ValueMember = "Id"; + comboBoxClient.DataSource = listClients; + comboBoxClient.SelectedItem = null; + } } catch (Exception ex) { - _logger.LogError(ex, "Ошибка загрузки изделий для заказа"); + _logger.LogError(ex, "Ошибка загрузки изделий для заказа или списка клиентов"); MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } } diff --git a/BlacksmithWorkshop/BlacksmithWorkshopBusinessLogic/BusinessLogic/OrderLogic.cs b/BlacksmithWorkshop/BlacksmithWorkshopBusinessLogic/BusinessLogic/OrderLogic.cs index ab54224..11a8529 100644 --- a/BlacksmithWorkshop/BlacksmithWorkshopBusinessLogic/BusinessLogic/OrderLogic.cs +++ b/BlacksmithWorkshop/BlacksmithWorkshopBusinessLogic/BusinessLogic/OrderLogic.cs @@ -122,7 +122,12 @@ namespace BlacksmithWorkshopBusinessLogic.BusinessLogic throw new InvalidOperationException("Дата создания должна быть более ранней, нежели дата завершения"); } - _logger.LogInformation("Order. OrderId:{Id}. Sun:{Sum}. ManufactureId:{Id}", model.Id, model.Sum, model.ManufactureId); + if (model.ClientId < 0) + { + throw new ArgumentNullException("Некорректный идентификатор у клиента", nameof(model.ClientId)); + } + + _logger.LogInformation("Order. OrderId:{Id}. Sun:{Sum}. ClientId:{ClientId}. ManufactureId:{Id}", model.Id, model.Sum, model.ClientId, model.ManufactureId); } //обновление статуса заказа diff --git a/BlacksmithWorkshop/BlacksmithWorkshopDatabaseImplement/Implements/OrderStorage.cs b/BlacksmithWorkshop/BlacksmithWorkshopDatabaseImplement/Implements/OrderStorage.cs index 3c1f16b..7ee75e1 100644 --- a/BlacksmithWorkshop/BlacksmithWorkshopDatabaseImplement/Implements/OrderStorage.cs +++ b/BlacksmithWorkshop/BlacksmithWorkshopDatabaseImplement/Implements/OrderStorage.cs @@ -73,14 +73,27 @@ namespace BlacksmithWorkshopDatabaseImplement.Implements .Select(x => x.GetViewModel) .ToList(); } + else if (model.Id.HasValue) + { + return context.Orders + .Include(x => x.Manufacture) + .Include(x => x.Client) + .Where(x => x.Id == model.Id) + .Select(x => x.GetViewModel) + .ToList(); + } + else if (model.ClientId.HasValue) + { + return context.Orders + .Include(x => x.Manufacture) + .Include(x => x.Client) + .Where(x => x.ClientId == model.ClientId) + .Select(x => x.GetViewModel) + .ToList(); + } - return context.Orders - .Include(x => x.Manufacture) - .Include(x => x.Client) - .Where(x => x.Id == model.Id) - .Select(x => x.GetViewModel) - .ToList(); - } + return new(); + } public List GetFullList() {