From 1c79c41e0f479711daa1a4aec3cbc4966c009697 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9D=D0=B8=D0=BA=D0=BE=D0=BB=D0=B0=D0=B9?= Date: Mon, 15 May 2023 19:26:52 +0400 Subject: [PATCH] init controller --- .../Controllers/BuildController.cs | 69 +++++++++++++++++++ .../Controllers/CommentController.cs | 69 +++++++++++++++++++ .../Controllers/PurchaseController.cs | 69 +++++++++++++++++++ .../Controllers/WorkerReport.cs | 69 +++++++++++++++++++ 4 files changed, 276 insertions(+) create mode 100644 HardwareShop/HardwareShopRestApi/Controllers/BuildController.cs create mode 100644 HardwareShop/HardwareShopRestApi/Controllers/CommentController.cs create mode 100644 HardwareShop/HardwareShopRestApi/Controllers/PurchaseController.cs create mode 100644 HardwareShop/HardwareShopRestApi/Controllers/WorkerReport.cs diff --git a/HardwareShop/HardwareShopRestApi/Controllers/BuildController.cs b/HardwareShop/HardwareShopRestApi/Controllers/BuildController.cs new file mode 100644 index 0000000..d430e4c --- /dev/null +++ b/HardwareShop/HardwareShopRestApi/Controllers/BuildController.cs @@ -0,0 +1,69 @@ +using HardwareShopContracts.BindingModels; +using HardwareShopContracts.BusinessLogicsContracts; +using HardwareShopContracts.SearchModels; +using HardwareShopContracts.ViewModels; +using Microsoft.AspNetCore.Mvc; + +namespace HardwareShopRestApi.Controllers +{ + [Route("api/[controller]/[action]")] + [ApiController] + public class UserController : Controller + { + private readonly ILogger _logger; + + private readonly IUserLogic _logic; + + public UserController(IUserLogic logic, ILogger logger) + { + _logger = logger; + _logic = logic; + } + + [HttpGet] + public UserViewModel? Login(string email, string password) + { + try + { + return _logic.ReadElement(new UserSearchModel + { + Email = email, + Password = password + }); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка входа в систему"); + throw; + } + } + + [HttpPost] + public void Register(UserBindingModel model) + { + try + { + _logic.Create(model); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка регистрации"); + throw; + } + } + + [HttpPost] + public void UpdateData(UserBindingModel model) + { + try + { + _logic.Update(model); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка обновления данных"); + throw; + } + } + } +} diff --git a/HardwareShop/HardwareShopRestApi/Controllers/CommentController.cs b/HardwareShop/HardwareShopRestApi/Controllers/CommentController.cs new file mode 100644 index 0000000..d430e4c --- /dev/null +++ b/HardwareShop/HardwareShopRestApi/Controllers/CommentController.cs @@ -0,0 +1,69 @@ +using HardwareShopContracts.BindingModels; +using HardwareShopContracts.BusinessLogicsContracts; +using HardwareShopContracts.SearchModels; +using HardwareShopContracts.ViewModels; +using Microsoft.AspNetCore.Mvc; + +namespace HardwareShopRestApi.Controllers +{ + [Route("api/[controller]/[action]")] + [ApiController] + public class UserController : Controller + { + private readonly ILogger _logger; + + private readonly IUserLogic _logic; + + public UserController(IUserLogic logic, ILogger logger) + { + _logger = logger; + _logic = logic; + } + + [HttpGet] + public UserViewModel? Login(string email, string password) + { + try + { + return _logic.ReadElement(new UserSearchModel + { + Email = email, + Password = password + }); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка входа в систему"); + throw; + } + } + + [HttpPost] + public void Register(UserBindingModel model) + { + try + { + _logic.Create(model); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка регистрации"); + throw; + } + } + + [HttpPost] + public void UpdateData(UserBindingModel model) + { + try + { + _logic.Update(model); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка обновления данных"); + throw; + } + } + } +} diff --git a/HardwareShop/HardwareShopRestApi/Controllers/PurchaseController.cs b/HardwareShop/HardwareShopRestApi/Controllers/PurchaseController.cs new file mode 100644 index 0000000..d430e4c --- /dev/null +++ b/HardwareShop/HardwareShopRestApi/Controllers/PurchaseController.cs @@ -0,0 +1,69 @@ +using HardwareShopContracts.BindingModels; +using HardwareShopContracts.BusinessLogicsContracts; +using HardwareShopContracts.SearchModels; +using HardwareShopContracts.ViewModels; +using Microsoft.AspNetCore.Mvc; + +namespace HardwareShopRestApi.Controllers +{ + [Route("api/[controller]/[action]")] + [ApiController] + public class UserController : Controller + { + private readonly ILogger _logger; + + private readonly IUserLogic _logic; + + public UserController(IUserLogic logic, ILogger logger) + { + _logger = logger; + _logic = logic; + } + + [HttpGet] + public UserViewModel? Login(string email, string password) + { + try + { + return _logic.ReadElement(new UserSearchModel + { + Email = email, + Password = password + }); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка входа в систему"); + throw; + } + } + + [HttpPost] + public void Register(UserBindingModel model) + { + try + { + _logic.Create(model); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка регистрации"); + throw; + } + } + + [HttpPost] + public void UpdateData(UserBindingModel model) + { + try + { + _logic.Update(model); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка обновления данных"); + throw; + } + } + } +} diff --git a/HardwareShop/HardwareShopRestApi/Controllers/WorkerReport.cs b/HardwareShop/HardwareShopRestApi/Controllers/WorkerReport.cs new file mode 100644 index 0000000..d430e4c --- /dev/null +++ b/HardwareShop/HardwareShopRestApi/Controllers/WorkerReport.cs @@ -0,0 +1,69 @@ +using HardwareShopContracts.BindingModels; +using HardwareShopContracts.BusinessLogicsContracts; +using HardwareShopContracts.SearchModels; +using HardwareShopContracts.ViewModels; +using Microsoft.AspNetCore.Mvc; + +namespace HardwareShopRestApi.Controllers +{ + [Route("api/[controller]/[action]")] + [ApiController] + public class UserController : Controller + { + private readonly ILogger _logger; + + private readonly IUserLogic _logic; + + public UserController(IUserLogic logic, ILogger logger) + { + _logger = logger; + _logic = logic; + } + + [HttpGet] + public UserViewModel? Login(string email, string password) + { + try + { + return _logic.ReadElement(new UserSearchModel + { + Email = email, + Password = password + }); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка входа в систему"); + throw; + } + } + + [HttpPost] + public void Register(UserBindingModel model) + { + try + { + _logic.Create(model); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка регистрации"); + throw; + } + } + + [HttpPost] + public void UpdateData(UserBindingModel model) + { + try + { + _logic.Update(model); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка обновления данных"); + throw; + } + } + } +}