public async Task <ICommandResult <EmailMessage> > SendSecurityTokenAsync(Models.SignUp signUp) { // Get reset password email var culture = await _contextFacade.GetCurrentCultureAsync(); var email = await _localeStore.GetFirstOrDefaultByKeyAsync <LocaleEmail>(culture, "SignUpSecurityToken"); if (email != null) { var subject = string.Format(email.Subject, signUp.SecurityToken); var body = string.Format(email.Message, signUp.SecurityToken); var message = new MailMessage() { Subject = subject, Body = WebUtility.HtmlDecode(body), IsBodyHtml = true }; message.To.Add(signUp.Email); // send email return(await _emailManager.SaveAsync(message)); } var result = new CommandResult <EmailMessage>(); return(result.Failed("An error occurred whilst attempting to send the security token email.")); }
public async Task <ActionResult> SignUp(Models.SignUp model) { try { var auth = new FirebaseAuthProvider(new FirebaseConfig(ApiKey)); var a = await auth.CreateUserWithEmailAndPasswordAsync(model.Email, model.Password, model.Name, true); ModelState.AddModelError(string.Empty, "Please verify your email then login."); } catch (Exception ex) { ModelState.AddModelError(string.Empty, ex.Message); } return(View()); }
private void Skip() { Models.SignUp nullSignUp = null; MessagingCenter.Send(this, MessengerKeys.NextCard, nullSignUp); }
public async Task <IActionResult> SignUp(Models.SignUp args) { ViewData["Title"] = "Sign-up"; using (var txn = context.Database.BeginTransaction()) { ViewBag.Communities = new SelectList(await communityBusiness.Get(), "Id", "Name"); ViewBag.ReCaptcha = captcha; try { if (!ModelState.IsValid) { return(View(args)); } else { var bll_member = memberBusiness; var midlleInitial = String.IsNullOrEmpty(args.MiddleInitial) ? " " : $" {args.MiddleInitial}. "; var name = args.FirstName.Trim() + midlleInitial + args.LastName.Trim(); var m = this.mapper.Map <EF.Member>(args); m.Name = name; m.IsActive = true; m.DateCreated = DateTime.Now; var memberId = await bll_member.Add(m); // Add to User // Generate ConfirmationCode Guid g = Guid.NewGuid(); string guidString = Convert.ToBase64String(g.ToByteArray()); guidString = guidString.Replace("=", ""); guidString = guidString.Replace("+", ""); var bll_user = endUserBusiness; var newId = await bll_user.Add(new EF.EndUser { MemberId = memberId, ConfirmationCode = guidString }); // Send email await smtp.SendEmail(args.Email, "Your Agenda Credentials", "Please click the link below to validate and change your password:<br/>http://" + Request.Host.Value + "/authentication/newpassword/?userid=" + newId + "&code=" + guidString); txn.Commit(); TempData["notice"] = "Thank you. Please check your email for confirmation."; return(Redirect("~/")); } } catch (ArgumentException ex) { txn.Rollback(); logger.Error(ex); ModelState.AddModelError(string.Empty, "Oops. There's something wrong with your entry. Please contact admin."); return(View(args)); } catch (DbUpdateException ex) { txn.Rollback(); logger.Error(ex); ModelState.AddModelError(string.Empty, "Existing name or email"); return(View(args)); } catch (Exception ex) { txn.Rollback(); logger.Error(ex); ModelState.AddModelError(string.Empty, ex.Message); return(View(args)); } } }