public async Task <IActionResult> Index(string guid) { using (Db db = new Db()) { var e = db.TblStores.FirstOrDefault(a => a.ActivationCode == guid); if (e == null) { return(RedirectToAction("RegisterShop", "Account")); } RestAccess ra = new RestAccess(Constants.ServiceClientEndPointWithApiPrefix); await ra.ForgotPasswordShop(new ExShopForgotPassword { EMail = e.EMail, Step = EnumShopForgotPassword.Step2 }); } TempData["message"] = "Bitte überprüfe deinen Posteingang! Dir wurde ein neues Passwort zugesandt!"; return(RedirectToAction("LogInShop", "Account")); }
public async Task <IActionResult> ForgotPasswordShop(RegisterShopViewModel form) { if (!ModelState.IsValid) { return(View(form)); } try { if (String.IsNullOrEmpty(form.UserName)) { ModelState.AddModelError("Username", "Bitte eine E-Mail Adresse angeben."); return(View(form)); } var email = form.UserName?.Trim().Replace(" ", "").ToLower(); RestAccess ra = new RestAccess(Constants.ServiceClientEndPointWithApiPrefix); await ra.ForgotPasswordShop(new ExShopForgotPassword { EMail = email, Step = EnumShopForgotPassword.Step1 }); var store = await _context.TblStores.FirstOrDefaultAsync(a => a.EMail.ToLower() == email && a.Activated); if (store == null) { ModelState.AddModelError("Username", "Diese E-Mail existiert nicht im System."); return(View(form)); } if (!store.Activated) { await ra.RegisterShop(new ExShopRegistration { EMail = email }); } TempData["message"] = "Bitte überprüfe deinen Posteingang. Dir wurde ein Bestätigungs-Link zugesandt."; return(RedirectToAction("LogInShop")); } catch (Exception e) { ModelState.AddModelError("Username", "Unbekannter Fehler. Bitte versuche es in wenigen Minuten erneut."); return(View(form)); } }