104 lines
3.6 KiB
C#
104 lines
3.6 KiB
C#
using AutoMapper;
|
|
using YAPContracts.AdapterContracts.OperationResponses;
|
|
using YAPContracts.AdapterContracts;
|
|
using YAPContracts.BindingModels;
|
|
using YAPContracts.BusinessLogicContracts;
|
|
using YAPContracts.DataModels.UserRoles;
|
|
using YAPContracts.ViewModels;
|
|
|
|
namespace YAPWebAPI.Adapters
|
|
{
|
|
public class StorekeeperAdapter : IStorekeeperAdapter
|
|
{
|
|
private readonly IStorekeeperBusinessLogicContract _storekeeperBusinessLogic;
|
|
private readonly ILogger _logger;
|
|
private readonly Mapper _mapper;
|
|
|
|
public StorekeeperAdapter(IStorekeeperBusinessLogicContract storekeeperBusinessLogic, ILogger logger)
|
|
{
|
|
_storekeeperBusinessLogic = storekeeperBusinessLogic;
|
|
_logger = logger;
|
|
|
|
var config = new MapperConfiguration(cfg =>
|
|
{
|
|
cfg.CreateMap<StorekeeperBindingModel, StorekeeperDataModel>();
|
|
cfg.CreateMap<StorekeeperDataModel, StorekeeperViewModel>();
|
|
cfg.CreateMap<StorekeeperViewModel, StorekeeperDataModel>();
|
|
});
|
|
_mapper = new Mapper(config);
|
|
}
|
|
|
|
public StorekeeperOperationResponse GetList()
|
|
{
|
|
try
|
|
{
|
|
return StorekeeperOperationResponse.OK(
|
|
[.. _storekeeperBusinessLogic.GetAllStorekeepers().Select(x => _mapper.Map<StorekeeperViewModel>(x))]
|
|
);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error in GetList");
|
|
return StorekeeperOperationResponse.InternalServerError(ex.Message);
|
|
}
|
|
}
|
|
|
|
public StorekeeperOperationResponse GetElement(string data)
|
|
{
|
|
try
|
|
{
|
|
return StorekeeperOperationResponse.OK(
|
|
_mapper.Map<StorekeeperViewModel>(_storekeeperBusinessLogic.GetStorekeeperByData(data))
|
|
);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error in GetElement");
|
|
return StorekeeperOperationResponse.InternalServerError(ex.Message);
|
|
}
|
|
}
|
|
|
|
public StorekeeperOperationResponse Register(StorekeeperBindingModel model)
|
|
{
|
|
try
|
|
{
|
|
_storekeeperBusinessLogic.InsertStorekeeper(_mapper.Map<StorekeeperDataModel>(model));
|
|
return StorekeeperOperationResponse.NoContent();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error in Register");
|
|
return StorekeeperOperationResponse.InternalServerError(ex.Message);
|
|
}
|
|
}
|
|
|
|
public StorekeeperOperationResponse Update(StorekeeperBindingModel model)
|
|
{
|
|
try
|
|
{
|
|
_storekeeperBusinessLogic.UpdateStorekeeper(_mapper.Map<StorekeeperDataModel>(model));
|
|
return StorekeeperOperationResponse.NoContent();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error in Update");
|
|
return StorekeeperOperationResponse.InternalServerError(ex.Message);
|
|
}
|
|
}
|
|
|
|
public StorekeeperOperationResponse Delete(string id)
|
|
{
|
|
try
|
|
{
|
|
_storekeeperBusinessLogic.DeleteStorekeeper(id);
|
|
return StorekeeperOperationResponse.NoContent();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error in Delete");
|
|
return StorekeeperOperationResponse.InternalServerError(ex.Message);
|
|
}
|
|
}
|
|
}
|
|
}
|