37 lines
1.8 KiB
C#
37 lines
1.8 KiB
C#
using AutoMapper;
|
|
using DigitalData.Core.Application;
|
|
using Microsoft.Extensions.Localization;
|
|
using EnvelopeGenerator.Application.Contracts;
|
|
using EnvelopeGenerator.Application.DTOs;
|
|
using EnvelopeGenerator.Domain.Entities;
|
|
using EnvelopeGenerator.Infrastructure.Contracts;
|
|
using static EnvelopeGenerator.Common.Constants;
|
|
using EnvelopeGenerator.Application.Resources;
|
|
|
|
namespace EnvelopeGenerator.Application.Services
|
|
{
|
|
public class EnvelopeHistoryService : BasicCRUDService<IEnvelopeHistoryRepository, EnvelopeHistoryDto, EnvelopeHistory, long>, IEnvelopeHistoryService
|
|
{
|
|
public EnvelopeHistoryService(IEnvelopeHistoryRepository repository, IStringLocalizer<Resource> localizer, IMapper mapper)
|
|
: base(repository, localizer, mapper)
|
|
{
|
|
}
|
|
|
|
public async Task<int> CountAsync(int? envelopeId = null, string? userReference = null, int? status = null) => await _repository.CountAsync(envelopeId: envelopeId, userReference: userReference, status: status);
|
|
|
|
public async Task<bool> HasStatus(EnvelopeStatus status, int envelopeId, string userReference) => await _repository.CountAsync(
|
|
envelopeId: envelopeId,
|
|
userReference: userReference,
|
|
status: (int) status) > 0;
|
|
|
|
public async Task<bool> AccessCodeAlreadyRequested(int envelopeId, string userReference) => await _repository.CountAsync(
|
|
envelopeId: envelopeId,
|
|
userReference:userReference,
|
|
status: (int) EnvelopeStatus.AccessCodeRequested) > 0;
|
|
|
|
public async Task<bool> IsSigned(int envelopeId, string userReference) => await _repository.CountAsync(
|
|
envelopeId: envelopeId,
|
|
userReference: userReference,
|
|
status: (int) EnvelopeStatus.DocumentSigned) > 0;
|
|
}
|
|
} |