Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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);
        }