Beispiel #1
0
        /// <summary>
        ///     Html für EMail Passwort reset generieren
        /// </summary>
        /// <param name="request">UserInfos</param>
        /// <returns></returns>
        public string GetPasswordResetEmail(ExEmailResetPassword request)
        {
            var htmlEMailOrder = ViewRenderer.Render("EMail/EMailResetPassword", request);

            return(htmlEMailOrder);
        }
        public async Task <ExSaveDataResult> ForgotPasswordShop(ExShopForgotPassword exShopRegistration)
        {
            using (Db db = new Db())
            {
                var shop = await db.TblStores.FirstOrDefaultAsync(a => a.EMail.ToLower() == exShopRegistration.EMail.ToLower());

                if (shop == null)
                {
                    return(new ExSaveDataResult {
                        Result = EnumSaveDataResult.Error
                    });
                }

                if (exShopRegistration.Step == EnumShopForgotPassword.Step1)
                {
                    //LINK VERSENDEN zum Ändern des Passwortes

                    BissEMail bm = new BissEMail(WebAppSettings.EmailCredentials);

                    ExEmailResetPassword er = new ExEmailResetPassword();

                    er.Message     = "Bitte bestätige den folgenden Link, damit dir ein neues Passwort zugesendet wird.";
                    er.ApproveLink = $"{Constants.WebAppBaseUrl}ShopForgotPassword/?guid={shop.ActivationCode}";

                    string email = _mailgenerator.GetPasswordResetEmail(er);

                    List <string> eMails2Inform;
                    if (Constants.CurrentAppSettings.AppConfigurationConstants == 0) //master
                    {
                        eMails2Inform = new List <string>
                        {
                            exShopRegistration.EMail
                        };                 //ToDo: Wenn die Settings Tabelle existiert dann über die Settings Tabelle
                    }
                    else
                    {
                        eMails2Inform = new List <string>
                        {
                            "*****@*****.**",
                            exShopRegistration.EMail
                        };                 //ToDo: Wenn die Settings Tabelle existiert dann über die Settings Tabelle
                    }

                    var res = await bm.SendHtmlEMail(Constants.SendEMailAs, eMails2Inform, "Passwort vergessen?", email, Constants.SendEMailAsDisplayName);
                }
                else if (exShopRegistration.Step == EnumShopForgotPassword.Step2)
                {
                    //PASSWORT VERSENDEN

                    string pwd = PasswordHelper.GeneratePassword(6);

                    shop.Password       = PasswordHelper.CumputeHash(pwd);
                    shop.ActivationCode = PasswordHelper.GeneratePassword(10);
                    await db.SaveChangesAsync();

                    BissEMail bm = new BissEMail(WebAppSettings.EmailCredentials);

                    ExEmailNewPassword er = new ExEmailNewPassword();

                    er.Message     = "Du kannst dich jetzt mit dem folgenden Passwort einloggen: ";
                    er.NewPassword = pwd;
                    er.ApproveLink = $"{Constants.WebAppBaseUrl}Activate/?guid={shop.ActivationCode}";

                    List <string> eMails2Inform;
                    if (Constants.CurrentAppSettings.AppConfigurationConstants == 0) //master
                    {
                        eMails2Inform = new List <string>
                        {
                            exShopRegistration.EMail
                        };
                    }
                    else
                    {
                        eMails2Inform = new List <string>
                        {
                            "*****@*****.**",
                            exShopRegistration.EMail
                        };                 //ToDo: Wenn die Settings Tabelle existiert dann über die Settings Tabelle
                    }

                    string email = _mailgenerator.GetNewPasswordEmail(er);

                    var res = await bm.SendHtmlEMail(Constants.SendEMailAs, eMails2Inform, "Passwort wurde geändert", email, Constants.SendEMailAsDisplayName);
                }

                return(new ExSaveDataResult());
            }
        }