using AutoMapper;
using DigitalData.Core.Application;
using EnvelopeGenerator.Domain.Entities;
using DigitalData.Core.Abstraction.Application.DTO;
using EnvelopeGenerator.Application.Receivers.Commands;
using EnvelopeGenerator.Application.Common.Dto.Receiver;
using EnvelopeGenerator.Application.Common.Interfaces.Repositories;
using EnvelopeGenerator.Application.Common.Interfaces.Services;
namespace EnvelopeGenerator.Application.Services;
///
///
///
[Obsolete("Use MediatR")]
public class ReceiverService : CRUDService, IReceiverService
{
///
///
///
///
///
public ReceiverService(IReceiverRepository repository, IMapper mapper)
: base(repository, mapper)
{
}
///
///
///
///
///
///
public async Task> ReadByAsync(string? emailAddress = null, string? signature = null)
{
var rcv = await _repository.ReadByAsync(emailAddress: emailAddress, signature: signature);
if (rcv is null)
return Result.Fail();
return Result.Success(_mapper.Map(rcv));
}
///
///
///
///
///
///
public async Task DeleteByAsync(string? emailAddress = null, string? signature = null)
{
var rcv = await _repository.ReadByAsync(emailAddress: emailAddress, signature: signature);
if (rcv is null)
return Result.Fail();
return await _repository.DeleteAsync(rcv) ? Result.Success() : Result.Fail();
}
}