diff --git a/PlumbingRepair/PlumbingRepair/App.config b/PlumbingRepair/PlumbingRepair/App.config index 300a843..248b38a 100644 --- a/PlumbingRepair/PlumbingRepair/App.config +++ b/PlumbingRepair/PlumbingRepair/App.config @@ -6,6 +6,6 @@ - + diff --git a/PlumbingRepair/PlumbingRepairBusinessLogic/BusinessLogics/OrderLogic.cs b/PlumbingRepair/PlumbingRepairBusinessLogic/BusinessLogics/OrderLogic.cs index 8c015cb..8725c7b 100644 --- a/PlumbingRepair/PlumbingRepairBusinessLogic/BusinessLogics/OrderLogic.cs +++ b/PlumbingRepair/PlumbingRepairBusinessLogic/BusinessLogics/OrderLogic.cs @@ -75,7 +75,12 @@ namespace PlumbingRepairBusinessLogic.BusinessLogics _logger.LogWarning("Insert operation failed"); return false; } - SendOrderMessage(result.ClientId, $"Ремонт сантехники, Заказ №{result.Id}", $"Заказ №{result.Id} от {result.DateCreate} на сумму {result.Sum:0.00} принят"); + Task.Run(() => _mailWorker.MailSendAsync(new MailSendInfoBindingModel + { + MailAddress = result.ClientEmail, + Subject = $"Новый заказ создан. Номер заказа - {result.Id}", + Text = $"Ваш заказ номер {result.Id} на работу {result.WorkName} от {result.DateCreate} на сумму {result.Sum} принят." + })); return true; } public bool StatusUpdate(OrderBindingModel model, OrderStatus newStatus) @@ -113,24 +118,12 @@ namespace PlumbingRepairBusinessLogic.BusinessLogics _logger.LogWarning("Update operation failed"); return false; } - return true; - } - private bool SendOrderMessage(int clientId, string subject, string text) - { - var client = _clientLogic.ReadElement(new() { Id = clientId }); - - if (client == null) + Task.Run(() => _mailWorker.MailSendAsync(new MailSendInfoBindingModel { - return false; - } - - _mailWorker.MailSendAsync(new() - { - MailAddress = client.Email, - Subject = subject, - Text = text - }); - + MailAddress = viewModel.ClientEmail, + Subject = $"Изменение статуса заказа номер {viewModel.Id}", + Text = $"У заказа номер {viewModel.Id} изменен статус на {newStatus}" + })); return true; } public bool TakeOrderInWork(OrderBindingModel model) diff --git a/PlumbingRepair/PlumbingRepairContracts/ViewModels/OrderViewModel.cs b/PlumbingRepair/PlumbingRepairContracts/ViewModels/OrderViewModel.cs index 39fcbd6..202feea 100644 --- a/PlumbingRepair/PlumbingRepairContracts/ViewModels/OrderViewModel.cs +++ b/PlumbingRepair/PlumbingRepairContracts/ViewModels/OrderViewModel.cs @@ -33,5 +33,6 @@ namespace PlumbingRepairContracts.ViewModels public DateTime DateCreate { get; set; } = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Utc); [DisplayName("Дата выполнения")] public DateTime? DateImplement { get; set; } + public string ClientEmail { get; set; } = string.Empty; } } diff --git a/PlumbingRepair/PlumbingRepairDataBaseImplement/Models/Order.cs b/PlumbingRepair/PlumbingRepairDataBaseImplement/Models/Order.cs index e920330..192afb8 100644 --- a/PlumbingRepair/PlumbingRepairDataBaseImplement/Models/Order.cs +++ b/PlumbingRepair/PlumbingRepairDataBaseImplement/Models/Order.cs @@ -86,6 +86,7 @@ namespace PlumbingRepairDataBaseImplement.Models Sum = Sum, Status = Status, DateCreate = DateCreate, + ClientEmail = Client.Email, DateImplement = DateImplement }; } diff --git a/PlumbingRepair/PlumbingRepairRestApi/appsettings.json b/PlumbingRepair/PlumbingRepairRestApi/appsettings.json index b43f863..ac66247 100644 --- a/PlumbingRepair/PlumbingRepairRestApi/appsettings.json +++ b/PlumbingRepair/PlumbingRepairRestApi/appsettings.json @@ -12,5 +12,5 @@ "PopHost": "pop.gmail.com", "PopPort": "995", "MailLogin": "labwork7Stroev@gmail.com", - "MailPassword": "passlab7" + "MailPassword": "ilvf bkyd gali fhus" }