ver
This commit is contained in:
@@ -34,7 +34,7 @@
|
||||
|
||||
<ItemGroup>
|
||||
<Reference Include="Service">
|
||||
<HintPath>..\..\Dlls\Service.dll</HintPath>
|
||||
<HintPath>..\..\..\LocalGit\TaxPayerTools\Service\bin\Debug\Service.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
|
||||
|
38
Back/Controllers/VerificationController.cs
Normal file
38
Back/Controllers/VerificationController.cs
Normal file
@@ -0,0 +1,38 @@
|
||||
using Back.Data.Models;
|
||||
using Back.Services;
|
||||
using Back.Validations;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Shared.DTOs;
|
||||
|
||||
namespace Back.Controllers
|
||||
{
|
||||
[Route("api/[controller]")]
|
||||
[ApiController]
|
||||
public class VerificationController : ControllerBase
|
||||
{
|
||||
//private readonly ServValidatinMsg _servValidatinMsg;
|
||||
private readonly GetVerificationValidation _getVerificationValidation;
|
||||
public VerificationController(/*ServValidatinMsg servValidatinMsg, */GetVerificationValidation getVerificationValidation)
|
||||
{
|
||||
//_servValidatinMsg = servValidatinMsg;
|
||||
_getVerificationValidation = getVerificationValidation;
|
||||
|
||||
}
|
||||
[HttpGet("GetVerification/{ID}")]
|
||||
[AllowAnonymous]
|
||||
public async Task<ActionResult<VerificationCode>> GetVerification(int ID)
|
||||
{
|
||||
var resultValidationmodel = await _getVerificationValidation.ValidateAsync(ID);
|
||||
if (!resultValidationmodel.IsValid)
|
||||
return BadRequest(resultValidationmodel.Errors.Select(s => s.ErrorMessage).ToList());
|
||||
|
||||
return Ok(new VerificationCodeDto {
|
||||
prm= _getVerificationValidation.verificationCode.prm,
|
||||
Type= _getVerificationValidation.verificationCode.Type,
|
||||
val= _getVerificationValidation.verificationCode.val
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
@@ -23,6 +23,7 @@ builder.Services.AddScoped<MobileValidation> ();
|
||||
builder.Services.AddScoped<Service.Main>();
|
||||
builder.Services.AddScoped<servTicket > ();
|
||||
builder.Services.AddScoped < ServValidatinMsg>();
|
||||
builder.Services.AddScoped<GetVerificationValidation> ();
|
||||
string origins = "OriginTaxPayer";
|
||||
builder.Services.AddCors(options =>
|
||||
{
|
||||
|
@@ -16,14 +16,14 @@ namespace Back.Services
|
||||
return await _verificationCodeRepo.Get(w => w.prm == Prm).FirstOrDefaultAsync();
|
||||
|
||||
}
|
||||
public async Task<VerificationCode> GetRegistrationCode(int ID)
|
||||
public async Task<VerificationCode> GetVerificationCode(int ID)
|
||||
{
|
||||
return await _verificationCodeRepo.Get(w => w.ID == ID).FirstOrDefaultAsync();
|
||||
}
|
||||
public async Task<int> GenerateCode(VerificationCode code)
|
||||
{
|
||||
code.Code = Random.Shared.Next(1000, 9000);
|
||||
while (await GetRegistrationCode(code.ID) != null)
|
||||
while (await GetVerificationCode(code.ID) != null)
|
||||
code.Code = Random.Shared.Next(1000, 9000);
|
||||
|
||||
|
||||
|
26
Back/Validations/GetVerificationValidation.cs
Normal file
26
Back/Validations/GetVerificationValidation.cs
Normal file
@@ -0,0 +1,26 @@
|
||||
using Back.Data.Models;
|
||||
using Back.Services;
|
||||
using FluentValidation;
|
||||
using Shared.DTOs;
|
||||
using System;
|
||||
|
||||
namespace Back.Validations
|
||||
{
|
||||
public class GetVerificationValidation : AbstractValidator<int>
|
||||
{
|
||||
public VerificationCode verificationCode { get; set; }
|
||||
public GetVerificationValidation(ServValidatinMsg _servValidatinMsg)
|
||||
{
|
||||
CascadeMode = CascadeMode.Stop;
|
||||
RuleFor(model => model)
|
||||
.Custom((model, context) => {
|
||||
verificationCode= _servValidatinMsg.GetVerificationCode(model).Result;
|
||||
if (verificationCode==null)
|
||||
context.AddFailure("کد یافت نشد");
|
||||
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user