From d82184c6a043dab2b1439dbb468d22296cb5eb1c Mon Sep 17 00:00:00 2001 From: "ns.potapov" Date: Sun, 7 Apr 2024 09:57:17 +0400 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20MainController?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/MainController.cs | 81 +++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 SecuritySystem/SecuritySystemRestApi/Controllers/MainController.cs diff --git a/SecuritySystem/SecuritySystemRestApi/Controllers/MainController.cs b/SecuritySystem/SecuritySystemRestApi/Controllers/MainController.cs new file mode 100644 index 0000000..aa89876 --- /dev/null +++ b/SecuritySystem/SecuritySystemRestApi/Controllers/MainController.cs @@ -0,0 +1,81 @@ +using Microsoft.AspNetCore.Mvc; +using SecuritySystemContracts.BindingModels; +using SecuritySystemContracts.BusinessLogicsContracts; +using SecuritySystemContracts.SearchModels; +using SecuritySystemContracts.ViewModels; + +namespace SecuritySystemRestApi.Controllers +{ + [Route("api/[controller]/[action]")] + [ApiController] + public class MainController : Controller + { + private readonly ILogger _logger; + private readonly IOrderLogic _order; + private readonly ISecureLogic _secure; + public MainController(ILogger logger, IOrderLogic order, ISecureLogic secure) + { + _logger = logger; + _order = order; + _secure = secure; + } + [HttpGet] + public List? GetSecureList() + { + try + { + return _secure.ReadList(null); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка получения списка secures"); + throw; + } + } + [HttpGet] + public SecureViewModel? GetSecure(int secureId) + { + try + { + return _secure.ReadElement(new SecureSearchModel + { + Id = secureId + }); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка получения secure по id={Id}", secureId); + throw; + } + } + [HttpGet] + public List? GetOrders(int clientId) + { + try + { + return _order.ReadList(new OrderSearchModel + { + ClientId = clientId + }); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка получения списка заказов клиента id = {Id}", clientId); + throw; + } + } + [HttpPost] + public void CreateOrder(OrderBindingModel model) + { + try + { + _order.CreateOrder(model); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка создания заказа"); + throw; + } + } + } +}