public async Task <IActionResult> RegisterShop(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(); var store = await _context.TblStores.FirstOrDefaultAsync(a => a.EMail.ToLower() == email && a.Activated); if (store != null) { ModelState.AddModelError("Username", "Diese E-Mail existiert bereits im System."); return(View(form)); } RestAccess ra = new RestAccess(Constants.ServiceClientEndPointWithApiPrefix); await ra.RegisterShop(new ExShopRegistration { EMail = email }); ViewBag.Message = "Danke! Um die Registrierung abzuschließen überprüfe bitte deinen Posteingang!"; return(View("Message")); } catch (Exception ex) { ModelState.AddModelError("Password", ex.Message); return(View(form)); } }
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)); } }