69 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
using PlumbingRepairContracts.BindingModels;
 | 
						|
using PlumbingRepairContracts.BusinessLogicsContracts;
 | 
						|
using PlumbingRepairContracts.SearchModels;
 | 
						|
using PlumbingRepairContracts.ViewModels;
 | 
						|
using Microsoft.AspNetCore.Mvc;
 | 
						|
 | 
						|
namespace AbstractShopRestApi.Controllers
 | 
						|
{
 | 
						|
    [Route("api/[controller]/[action]")]
 | 
						|
    [ApiController]
 | 
						|
    public class ClientController : Controller
 | 
						|
    {
 | 
						|
        private readonly ILogger _logger;
 | 
						|
 | 
						|
        private readonly IClientLogic _logic;
 | 
						|
 | 
						|
        public ClientController(IClientLogic logic, ILogger<ClientController> logger)
 | 
						|
        {
 | 
						|
            _logger = logger;
 | 
						|
            _logic = logic;
 | 
						|
        }
 | 
						|
 | 
						|
        [HttpGet]
 | 
						|
        public ClientViewModel? Login(string login, string password)
 | 
						|
        {
 | 
						|
            try
 | 
						|
            {
 | 
						|
                return _logic.ReadElement(new ClientSearchModel
 | 
						|
                {
 | 
						|
                    Email = login,
 | 
						|
                    Password = password
 | 
						|
                });
 | 
						|
            }
 | 
						|
            catch (Exception ex)
 | 
						|
            {
 | 
						|
                _logger.LogError(ex, "Ошибка входа в систему");
 | 
						|
                throw;
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        [HttpPost]
 | 
						|
        public void Register(ClientBindingModel model)
 | 
						|
        {
 | 
						|
            try
 | 
						|
            {
 | 
						|
                _logic.Create(model);
 | 
						|
            }
 | 
						|
            catch (Exception ex)
 | 
						|
            {
 | 
						|
                _logger.LogError(ex, "Ошибка регистрации");
 | 
						|
                throw;
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        [HttpPost]
 | 
						|
        public void UpdateData(ClientBindingModel model)
 | 
						|
        {
 | 
						|
            try
 | 
						|
            {
 | 
						|
                _logic.Update(model);
 | 
						|
            }
 | 
						|
            catch (Exception ex)
 | 
						|
            {
 | 
						|
                _logger.LogError(ex, "Ошибка обновления данных");
 | 
						|
                throw;
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
} |