diff --git a/HardwareShop/HardwareShopBusinessLogic/BusinessLogics/Worker/PurchaseLogic.cs b/HardwareShop/HardwareShopBusinessLogic/BusinessLogics/Worker/PurchaseLogic.cs index 8563aac..1239d9b 100644 --- a/HardwareShop/HardwareShopBusinessLogic/BusinessLogics/Worker/PurchaseLogic.cs +++ b/HardwareShop/HardwareShopBusinessLogic/BusinessLogics/Worker/PurchaseLogic.cs @@ -30,9 +30,21 @@ namespace HardwareShopContracts.BusinessLogicsContracts return list; } - public CommentViewModel? ReadElement(CommentSearchModel model) + public PurchaseSearchModel? ReadElement(PurchaseSearchModel model) { - throw new NotImplementedException(); + if (model == null) + { + throw new ArgumentNullException(nameof(model)); + } + _logger.LogInformation("ReadElement. Id:{Id}", model.Id); + var element = _purchaseStorage.GetElement(model); + if (element == null) + { + _logger.LogWarning("ReadElement element not found"); + return null; + } + _logger.LogInformation("ReadElement find. Id:{Id}", element.Id); + return element; } public bool DeliveryPurchase(PurchaseBindingModel model) @@ -78,6 +90,11 @@ namespace HardwareShopContracts.BusinessLogicsContracts public bool Update(PurchaseBindingModel model) { + if (model.PurchaseStatus == PurchaseStatus.Выдан) + { + _logger.LogWarning("Update status operation failed"); + return false; + } CheckModel(model); if (_purchaseStorage.Update(model) == null) { @@ -89,6 +106,11 @@ namespace HardwareShopContracts.BusinessLogicsContracts public bool Delete(PurchaseBindingModel model) { + if (model.PurchaseStatus == PurchaseStatus.Выдан) + { + _logger.LogWarning("Delete status operation failed"); + return false; + } CheckModel(model, false); _logger.LogInformation("Delete. Id:{Id}", model.Id); if (_purchaseStorage.Delete(model) == null) diff --git a/HardwareShop/HardwareShopClientApp/Controllers/WorkerController.cs b/HardwareShop/HardwareShopClientApp/Controllers/WorkerController.cs index 75f367c..4e8da7a 100644 --- a/HardwareShop/HardwareShopClientApp/Controllers/WorkerController.cs +++ b/HardwareShop/HardwareShopClientApp/Controllers/WorkerController.cs @@ -65,17 +65,11 @@ namespace HardwareShopClientApp.Controllers [HttpPost] public void Builds(int id) { - Response.Redirect("Build"); + Response.Redirect("LinkPurchase"); } [HttpGet] - public IActionResult Build() - { - return View(); - } - - [HttpGet] - public IActionResult linkingBuild() + public IActionResult LinkPurchase() { return View(); } diff --git a/HardwareShop/HardwareShopClientApp/Views/Shared/_LayoutWorker.cshtml b/HardwareShop/HardwareShopClientApp/Views/Shared/_LayoutWorker.cshtml new file mode 100644 index 0000000..22ce847 --- /dev/null +++ b/HardwareShop/HardwareShopClientApp/Views/Shared/_LayoutWorker.cshtml @@ -0,0 +1,58 @@ + + +
+ + +