fix: change send sms verification and fix validation bug
This commit is contained in:
@@ -124,6 +124,9 @@ public class InstitutionContract : EntityBase
|
||||
|
||||
[NotMapped]
|
||||
public bool VerifyCodeExpired => VerifyCodeCreation.AddMinutes(5) <= DateTime.Now;
|
||||
|
||||
[NotMapped]
|
||||
public bool CanCreateNewVerifyCode => VerifyCodeCreation.AddMinutes(2) <= DateTime.Now;
|
||||
|
||||
public bool IsInstallment { get; set; }
|
||||
|
||||
|
||||
@@ -213,7 +213,6 @@ public interface IInstitutionContractApplication
|
||||
#endregion
|
||||
|
||||
Task<GetInstitutionVerificationDetailsViewModel> GetVerificationDetails(Guid id);
|
||||
Task<OperationResult> Verify(Guid id, string code);
|
||||
Task<OperationResult> SendVerifyOtp(Guid id);
|
||||
Task<OperationResult> VerifyOtp(Guid publicId, string code);
|
||||
}
|
||||
|
||||
@@ -1102,28 +1102,7 @@ public class InstitutionContractApplication : IInstitutionContractApplication
|
||||
{
|
||||
return await _institutionContractRepository.GetVerificationDetails(id);
|
||||
}
|
||||
|
||||
public async Task<OperationResult> Verify(Guid id, string code)
|
||||
{
|
||||
var institutionContract = await _institutionContractRepository.GetByPublicIdAsync(id);
|
||||
if (institutionContract == null)
|
||||
{
|
||||
throw new NotFoundException("رکورد مورد نظر یافت نشد");
|
||||
}
|
||||
|
||||
if (institutionContract.VerificationStatus != InstitutionContractVerificationStatus.PendingForVerify)
|
||||
throw new BadRequestException("تاییدیه این قرارداد مالی منقضی شده است");
|
||||
|
||||
if (institutionContract.VerifyCodeCreation.AddDays(1) < DateTime.Now)
|
||||
throw new BadRequestException("تاییدیه این قرارداد مالی منقضی شده است");
|
||||
|
||||
if (institutionContract.VerifyCode != code)
|
||||
throw new BadRequestException("کد وارد شده صحیح نمی باشد");
|
||||
|
||||
institutionContract.Verified();
|
||||
await _institutionContractRepository.SaveChangesAsync();
|
||||
return new OperationResult().Succcedded();
|
||||
}
|
||||
|
||||
|
||||
public async Task<OperationResult> SendVerifyOtp(Guid id)
|
||||
{
|
||||
@@ -1135,11 +1114,11 @@ public class InstitutionContractApplication : IInstitutionContractApplication
|
||||
|
||||
if (institutionContract.VerificationStatus == InstitutionContractVerificationStatus.Verified)
|
||||
throw new BadRequestException("این قرارداد مالی قبلا تایید شده است");
|
||||
|
||||
|
||||
if (institutionContract.VerificationStatus == InstitutionContractVerificationStatus.PendingForVerify &&
|
||||
institutionContract.VerifyCodeCreation != DateTime.MinValue)
|
||||
{
|
||||
if (!institutionContract.VerifyCodeExpired)
|
||||
if (!institutionContract.CanCreateNewVerifyCode)
|
||||
{
|
||||
throw new BadRequestException("کد تایید قبلی هنوز منقضی نشده است");
|
||||
}
|
||||
@@ -1149,7 +1128,7 @@ public class InstitutionContractApplication : IInstitutionContractApplication
|
||||
if (contractingParty == null)
|
||||
throw new NotFoundException("طرف قرارداد یافت نشد");
|
||||
|
||||
var code = new Random().Next(100000, 999999).ToString();
|
||||
var code = new Random().Next(1000, 9999).ToString();
|
||||
institutionContract.SetVerifyCode(code);
|
||||
|
||||
var transaction = await _institutionContractRepository.BeginTransactionAsync();
|
||||
@@ -1182,7 +1161,7 @@ public class InstitutionContractApplication : IInstitutionContractApplication
|
||||
throw new BadRequestException("این قرارداد مالی قبلا تایید شده است");
|
||||
|
||||
if (institutionContract.VerificationStatus == InstitutionContractVerificationStatus.PendingForVerify &&
|
||||
!institutionContract.VerifyCodeExpired)
|
||||
institutionContract.VerifyCodeExpired)
|
||||
throw new BadRequestException("کد تایید منقضی شده است");
|
||||
|
||||
var contractingParty = _contractingPartyRepository.Get(institutionContract.ContractingPartyId);
|
||||
|
||||
Reference in New Issue
Block a user