Coursework_ComputerStore_Li.../ComputerStoreRestAPI/Controllers/SellerController.cs
2023-05-19 16:11:31 +04:00

64 lines
1.3 KiB
C#

using ComputerStoreContracts.BindingModels;
using ComputerStoreContracts.BusinessLogicContracts;
using ComputerStoreContracts.SearchModels;
using ComputerStoreContracts.ViewModels;
using Microsoft.AspNetCore.Mvc;
namespace ComputerStoreRestAPI.Controllers
{
[Route("api/[controller]/[action]")]
[ApiController]
public class SellerController : Controller
{
private readonly ILogger _logger;
private readonly ISellerLogic _logic;
public SellerController(ISellerLogic logic, ILogger<SellerController> logger)
{
_logger = logger;
_logic = logic;
}
[HttpGet]
public SellerViewModel? Login(string login, string password)
{
try
{
return _logic.ReadElement(new SellerSearchModel { Username = login, Password = password });
}
catch (Exception ex)
{
_logger.LogError(ex, "Seller logging in error"); throw;
}
}
[HttpPost]
public bool Register(SellerBindingModel seller)
{
try
{
return _logic.Create(seller);
}
catch (Exception ex)
{
_logger.LogError(ex, "Seller registration error ");
throw;
}
}
[HttpPatch]
public bool UpdateData(SellerBindingModel seller)
{
try
{
return _logic.Update(seller);
}
catch (Exception ex)
{
_logger.LogError(ex, "Update of data error ");
throw;
}
}
}
}