domBudg/back/Services/Domain/ChangeRecordService.cs

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();
}
}