public async Task <ActionResult> OnlyEmail(OnlyEmailViewModel data) { string key = CollectionOfMethods.GetHashString(data.Email); if (ModelState.IsValid) { ResetPassword newData = new ResetPassword() { Id = 4, UserId = repoReset.GetUserWithEmail(data.Email).Id, Key = key, }; repoReset.Save(newData); EmailService emailService = new EmailService(); await emailService.SendEmailAsync(data.Email, @Resources.Web.ChangePasswordTheme, TemplateForEmail.ForgotPassword(Url.Action("ResetPassword", "Account", new { Key = key }, Request.Url.Scheme))); return(RedirectToAction("WaitingForConfirm")); } else { // Response.StatusCode = (int) HttpStatusCode.BadRequest; return(View(data)); } }
public async Task <ActionResult> Registration(RegisteViewModel registerData) { if (ModelState.IsValid) { if (repo.CheckEmailUniqueness(registerData.Email) == false) { ModelState.AddModelError("", @Resources.Web.MailBusy); return(PartialView(registerData)); } string key = CollectionOfMethods.GetHashString(registerData.Email) + CollectionOfMethods.GetHashString(registerData.Name); UserForConfirmedEmail newUser = new UserForConfirmedEmail() { Key = key, Email = registerData.Email, User = new User() { Name = registerData.Name, PasswordHash = CollectionOfMethods.GetHashString(registerData.Password), Email = registerData.Email, Date = DateTime.UtcNow, Confirmed = false } }; repoForEmail.Save(newUser); EmailService emailService = new EmailService(); await emailService.SendEmailAsync(registerData.Email, @Resources.Web.ConfirmEmailTheme, TemplateForEmail.Registration(Url.Action("ConfirmEmail", "Account", new { Key = key }, Request.Url.Scheme))); return(Json(new { successful = true })); // return View("WaitingForConfirm"); } return(PartialView(registerData)); }