53 lines
1.6 KiB
C#
53 lines
1.6 KiB
C#
using Contracts.DTO;
|
|
using Contracts.Mappers;
|
|
using Contracts.Repositories;
|
|
using Contracts.SearchModels;
|
|
using Contracts.Services;
|
|
using Contracts.ViewModels;
|
|
|
|
namespace Services.Domain;
|
|
|
|
public class ChangeRecordService : IChangeRecordService
|
|
{
|
|
private readonly IChangeRecordRepo _changeRecordRepo;
|
|
|
|
public ChangeRecordService(IChangeRecordRepo changeRecordRepo)
|
|
{
|
|
_changeRecordRepo = changeRecordRepo;
|
|
}
|
|
|
|
public async Task<ChangeRecordViewModel> Create(ChangeRecordDto model)
|
|
{
|
|
var record = await _changeRecordRepo.Create(model);
|
|
|
|
return record.ToView();
|
|
}
|
|
|
|
public async Task<ChangeRecordViewModel> Delete(ChangeRecordSearch search)
|
|
{
|
|
var record = await _changeRecordRepo.Delete(search);
|
|
if (record == null)
|
|
{
|
|
throw new EntryPointNotFoundException("При удалении не получилось найти запись измнения баланса");
|
|
}
|
|
return record.ToView();
|
|
}
|
|
|
|
public async Task<IEnumerable<ChangeRecordViewModel>> GetList(ChangeRecordSearch search)
|
|
{
|
|
var records = await _changeRecordRepo.GetList(search);
|
|
|
|
return records.Select(x => x.ToView()).ToList();
|
|
}
|
|
|
|
public async Task<ChangeRecordViewModel> Update(ChangeRecordDto model)
|
|
{
|
|
var record = await _changeRecordRepo.Update(model);
|
|
if (record == null)
|
|
{
|
|
throw new EntryPointNotFoundException("При изменении не получилось найти запись измнения баланса");
|
|
}
|
|
return record.ToView();
|
|
}
|
|
}
|