From eb987cbeaa5d872f7e6c9befede51e04cf1056c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D0=BD=D0=B0=20=D0=97=D0=B0=D0=B1=D1=80=D0=BE?= =?UTF-8?q?=D0=B4=D0=B8=D0=BD=D0=B0?= Date: Sun, 24 Mar 2024 14:49:52 +0400 Subject: [PATCH] OrganiserController --- .../Controllers/OrganiserController.cs | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 Hotel/HotelRestApi/Controllers/OrganiserController.cs diff --git a/Hotel/HotelRestApi/Controllers/OrganiserController.cs b/Hotel/HotelRestApi/Controllers/OrganiserController.cs new file mode 100644 index 0000000..d169705 --- /dev/null +++ b/Hotel/HotelRestApi/Controllers/OrganiserController.cs @@ -0,0 +1,68 @@ +using HotelContracts.BindingModels; +using HotelContracts.BusinessLogicsContracts; +using HotelContracts.SearchModels; +using HotelContracts.ViewModels; +using Microsoft.AspNetCore.Mvc; + +namespace HotelRestApi.Controllers +{ + [Route("api/[controller]/[action]")] + [ApiController] + public class OrganiserController : Controller + { + private readonly ILogger _logger; + private readonly IOrganiserLogic _logic; + + public OrganiserController(IOrganiserLogic logic, ILogger logger) + { + _logger = logger; + _logic = logic; + } + + [HttpGet] + public OrganiserViewModel? Login(string login, string password) + { + try + { + return _logic.ReadElement(new OrganiserSearchModel + { + OrganiserEmail = login, + OrganiserPassword = password + }); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка входа в систему"); + throw; + } + } + + [HttpPost] + public void Register(OrganiserBindingModel model) + { + try + { + _logic.Create(model); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка регистрации"); + throw; + } + } + + [HttpPost] + public void UpdateData(OrganiserBindingModel model) + { + try + { + _logic.Update(model); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка обновления данных"); + throw; + } + } + } +}