private async Task <bool> SendOTPEmailAsync(OTPTracker person) { try { var builder = new BodyBuilder(); var emailMessage = new MailObj(); emailMessage.toAddresses = new List <ToAddress>(); emailMessage.subject = "OTP Verification"; emailMessage.content = person.OTP.Insert(2, "-").Insert(5, "-"); emailMessage.sendIt = true; emailMessage.fromAddresses = new List <FromAddress>(); emailMessage.toAddresses.Add(new ToAddress { address = person.Email }); emailMessage.template = 5; await _identityServer.SendMail(emailMessage); return(await Task.Run(() => true)); } catch (Exception ex) { _logger.Error(ex.ToString()); return(true); } }
private async Task <OTPTracker> ProduceOtpAsync(ApplicationUser user) { Random rnd = new Random(); var otp = (rnd.Next(100000, 999999)).ToString(); var newOtp = new OTPTracker { DateIssued = DateTime.Now, ExpiryDate = DateTime.Now.AddMinutes(2), OTP = otp, UserId = user.Id, Email = user.Email, }; _logger.Information("I am in ProduceOtpAsync "); await _dataContext.OTPTracker.AddAsync(newOtp); await _dataContext.SaveChangesAsync(); return(newOtp); }