CourseWork_BankYouBankrupt/BankYouBankrupt/BankYouBankruptRestAPI/Controllers/CashierController.cs

92 lines
2.7 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using BankYouBankruptContracts.BindingModels;
using BankYouBankruptContracts.BusinessLogicsContracts;
using BankYouBankruptContracts.SearchModels;
using BankYouBankruptContracts.ViewModels;
using Microsoft.AspNetCore.Mvc;
namespace BankYouBankruptRestApi.Controllers
{
//указание у контроллера, что Route будет строиться не только по наванию контроллера, но и по названию метода (так как у нас два Post-метода)
[Route("api/[controller]/[action]")]
[ApiController]
public class CashierController : Controller
{
private readonly ILogger _logger;
private readonly ICashierLogic _cashierLogic;
public CashierController(ICashierLogic cashierLogic, ILogger<AccountController> logger)
{
_logger = logger;
_cashierLogic = cashierLogic;
}
[HttpGet]
public CashierViewModel? Login(string login, string password)
{
try
{
//попытка найти запись по переданным логину и паролю
return _cashierLogic.ReadElement(new CashierSearchModel
{
Email = login,
Password = password
});
}
catch (Exception ex)
{
_logger.LogError(ex, "Ошибка входа в систему");
throw;
}
}
[HttpGet]
public CashierViewModel? GetCashier(int id)
{
try
{
//попытка найти запись по переданным логину и паролю
return _cashierLogic.ReadElement(new CashierSearchModel
{
Id = id
});
}
catch (Exception ex)
{
_logger.LogError(ex, "Ошибка входа в систему");
throw;
}
}
[HttpPost]
public void Register(CashierBindingModel model)
{
try
{
//создание клиента
_cashierLogic.Create(model);
}
catch (Exception ex)
{
_logger.LogError(ex, "Ошибка регистрации");
throw;
}
}
[HttpPost]
public void UpdateData(CashierBindingModel model)
{
try
{
//изменение клиента
_cashierLogic.Update(model);
}
catch (Exception ex)
{
_logger.LogError(ex, "Ошибка обновления данных");
throw;
}
}
}
}