public async Task <bool> VerifyEmail(Services.Models.EmailVerification verification) { try { var emailVerification = await _accountContext.EmailVerificationS.FirstOrDefaultAsync(c => c.Email == verification.Email); if (emailVerification == null) { throw new EmailVerificationException("Email not found"); } if (emailVerification.VerificationCode != verification.VerificationCode) { throw new EmailVerificationException("The verification code is wrong"); } if (emailVerification.ExpirationTime < DateTime.Now) { throw new EmailVerificationException("The expiration date has expired"); } var active = await ActivateAccount(verification.Email); if (active == -1) { throw new EmailVerificationException("Activate account failed"); } return(true); } catch (Exception e) { throw new EmailVerificationException(e.Message); } }
public async Task <bool> UpdateVerificationCodeAsync(Services.Models.EmailVerification emailVerification) { EmailVerification oldEmailVerification = await _accountContext.EmailVerificationS.FirstOrDefaultAsync( e => e.Email == emailVerification.Email); if (emailVerification == null) { throw new AccountNotFoundException("we didn't find this email"); //which exception } oldEmailVerification.VerificationCode = emailVerification.VerificationCode; oldEmailVerification.ExpirationTime = emailVerification.ExpirationTime; return(await _accountContext.SaveChangesAsync() > 0); }
public async Task <ActionResult <bool> > CreateAccountAsync(Customer customerDTO) { var emailVerification = new Services.Models.EmailVerification() { Email = customerDTO.Email, VerificationCode = Int32.Parse(customerDTO.VerificationCode) }; var ok = await _verificationService.VerifyEmail(emailVerification); if (!ok) { return(BadRequest("The code not match")); } var customer = _mapper.Map <Services.Models.Customer>(customerDTO); return(await _accountService.CreateAsync(customer)); }
public async Task <bool> VerifyEmail(Services.Models.EmailVerification verification) { var emailVerification = await _accountContext.EmailVerificationS.FirstOrDefaultAsync(c => c.Email == verification.Email); if (emailVerification == null) { throw new EmailVerificationException("Email not found"); } if (emailVerification.VerificationCode != verification.VerificationCode) { throw new EmailVerificationException("The verification code is wrong"); } if (emailVerification.ExpirationTime < DateTime.Now) { throw new EmailVerificationException("The expiration time has expired"); } return(true); }
public async Task <Services.Models.EmailVerification> CreateEmailVerificationAsync(Services.Models.EmailVerification emailVerificationModel) { try { Entities.EmailVerification emailVerification = _mapper.Map <Entities.EmailVerification>(emailVerificationModel); await _accountContext.EmailVerificationS.AddAsync(emailVerification); await _accountContext.SaveChangesAsync(); return(_mapper.Map <Services.Models.EmailVerification>(emailVerification)); } catch (Exception e) { throw new EmailVerificationException(e.Message); } }
public async Task <int> CreateEmailVerificationAsync(Services.Models.EmailVerification emailVerificationModel) { Entities.EmailVerification emailVerification = _mapper.Map <Entities.EmailVerification>(emailVerificationModel); _accountContext.EmailVerificationS.Add(emailVerification); return(await _accountContext.SaveChangesAsync()); }