public EmailTemplateBusinessLogic() : base(new Data.EmailTemplateData())
 {
     _EmailTemplateData = new Data.EmailTemplateData();
     _LogData           = new Data.LogData();
     _Email             = new Common.Email();
     _Email.Log        += _Email_Log;
 }
        //User Forgot Password - loginId
        public void ForgotPassword(string loginId)
        {
            try
            {
                var vList = GetUserByLoginId(loginId);
                if (vList == null)
                {
                    throw new UserNotFoundException("User Not Found");
                }

                string strToken_No = tokenService.GenerateToken();
                string strLink     = PasswordResetLink + "Login_Id=" + vList.Login_Id + "&Token_No=" + strToken_No;
                userPasswordResetRepository.Insert(vList.User_Id, strLink, strToken_No);

                #region Sent link to User

                Common.Email vEmailConfiguration = new Common.Email(adbContext);
                var          usermodel           = vEmailConfiguration.GetEmailBody(vList.Email, String.Empty, String.Empty, "Reset Password Link", "Please find below link for your reset password  " + strLink);
                vEmailConfiguration.SendEmail(usermodel, vEmailConfiguration.GetEmailConfiguration(vList.Company_Id));

                #endregion
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public bool GenerateAndSendOTP(int userID)
        {
            _context = new MIDASGBXEntities();
            Repository.User user = _context.Users.Where(u => u.id == userID).FirstOrDefault();
            int             defaultAdminUserID = Convert.ToInt32(Common.Utility.GetConfigValue("DefaultAdminUserID"));
            bool            result             = false;

            try
            {
                if (user != null)
                {
                    var existingOTP = _context.OTPs.Where(p => p.UserID == userID).ToList();
                    existingOTP.ForEach(a => { a.IsDeleted = true; a.UpdateDate = DateTime.UtcNow; a.UpdateByUserID = defaultAdminUserID; });
                }

                OTP otp = new OTP();
                otp.OTPCode        = Common.Utility.GenerateRandomNumber(6);
                otp.Pin            = Common.Utility.GenerateRandomNo();
                otp.UserID         = user.id;
                otp.CreateDate     = DateTime.UtcNow;
                otp.CreateByUserID = Convert.ToInt32(defaultAdminUserID);
                otp.IsDeleted      = false;

                _context.OTPs.Add(otp);
                _context.SaveChanges();

                string Message = "Dear " + user.FirstName
                                 + ",<br><br>As per your request, a One Time Password (OTP) has been generated and the same is <i><b>" + otp.OTPCode.ToString()
                                 + "</b></i><br><br>Please use this OTP to complete the Login. Reference number is " + otp.Pin.ToString()
                                 + " <br><br>*** This is an auto-generated email. Please do not reply to this email.*** <br><br>Thanks"
                                 + " <br><br>MIDAS Administrator";

                Common.Email mail = new Common.Email();
                mail.ToEmail = user.UserName;
                mail.Subject = "OTP Alert Message From GBX MIDAS";
                mail.Body    = Message;

                mail.SendMail();
                result = true;
            }
            catch
            {
                result = false;
            }
            return(result);
        }
Exemple #4
0
        public async Task <bool> SendEmailAsync(Common.Email email)
        {
            try
            {
                var from = new EmailAddress(config.From, config.FromName);
                var to   = new EmailAddress(email.To);

                var htmlContent      = email.GetBodyHtml();
                var plainTextContent = Regex.Replace(htmlContent, "<[^>]*>", "");
                var msg      = MailHelper.CreateSingleEmail(from, to, email.Subject, plainTextContent, htmlContent);
                var response = await client.SendEmailAsync(msg);

                return(true);
            }
            catch
            {
                return(false);
            }
        }
Exemple #5
0
        //User Forgot Password - loginId
        public void ForgotPassword(string loginId)
        {
            try
            {
                var vList = objUserService.GetUserByLoginId(loginId);
                if (vList != null)
                {
                    vList.Password           = objUser_PasswordRepo.GeneratePassword(EmailDefaultPassword);
                    vList.PasswordExpiryDate = DateTime.Now.AddDays(PasswordExpiryDays);
                    vList.UpdatedBy          = vList.User_Id;
                    vList.UpdatedOn          = DateTime.Now;

                    adbContext.users.Update(vList);
                    adbContext.SaveChanges();

                    PasswordResetLink += EncryptLink(vList.Login_Id);
                    Insert(vList.User_Id, PasswordResetLink);

                    //  remove and generate new token
                    objTokenService.Add(new User_Token {
                        User_Id = vList.User_Id
                    });

                    #region Sent link to User

                    Common.Email vEmailConfiguration = new Common.Email(adbContext);
                    var          usermodel           = vEmailConfiguration.GetEmailBody(vList.Email, "*****@*****.**", "", "Reset Password Link", "Please find below link for your reset password  " + PasswordResetLink);
                    vEmailConfiguration.SendEmail(usermodel, vEmailConfiguration.GetEmailConfiguration(vList.Company_Id));

                    #endregion
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }