using Back.Common.Enums; using Back.Data.Contracts; using Back.Data.Models; using Microsoft.EntityFrameworkCore; namespace Back.Services { public class ServValidatinMsg { private readonly IAsyncRepository _verificationCodeRepo; private readonly IAsyncRepository _ticket; public ServValidatinMsg(IAsyncRepository verificationCodeRepo, IAsyncRepository ticket) { _verificationCodeRepo = verificationCodeRepo; _ticket = ticket; } public async Task GetCodeByPrm(string Prm) { return await _verificationCodeRepo.Get(w => w.prm == Prm).FirstOrDefaultAsync(); } public async Task GetVerificationCode(int ID) { return await _verificationCodeRepo.Get(w => w.ID == ID).FirstOrDefaultAsync(); } public async Task SubmittedTicket(VerificationCode code) { var ticket = await _ticket.Get(w => w.ID == Convert.ToInt32(code.prm)).FirstOrDefaultAsync(); if (ticket != null) { ticket.Status = StatusTicket.Awaitingreview; return await _ticket.UpdateAsync(ticket); } return false; } public async Task GenerateCode(VerificationCode code) { code.Code = Random.Shared.Next(1000, 9000); while (await GetVerificationCode(code.ID) != null) code.Code = Random.Shared.Next(1000, 9000); var indb= await _verificationCodeRepo.AddAsync(code); return indb.ID; } } }