static void SendRegisterEmail(RegisterEmailViewModel items) { // access template // apply data to placeholder var template = Data.RegisterTemplate(); var subject = TemplateStringWithValue(template[1], GetPropertyValues(items)); var body = TemplateStringWithValue(template[0], GetPropertyValues(items)); var collection = new MailAddressCollection(); foreach (var email in items.Emails) { collection.Add(new MailAddress(email, email)); } Task.Factory.StartNew(() => new Email(EmailConfigBo, items.Emails, subject, body)); }
public ActionResult RegisterEmail(RegisterEmailViewModel model) { if (model.Password != model.ConfirmPassword) { ModelState.AddModelError("", "Password and Confirm Password do not match"); return(View()); } try { var regCode = RandomString(6); var op = GameGram.Domain.BLL.UsersBLL.Register(new Domain.Models.User() { Id = Guid.NewGuid(), Status = LoginStatus.Unconfirmed, EmailAddress = model.EmailAddress, FirstName = model.FirstName, LastName = model.LastName, Gender = model.Gender, Password = model.Password, RegistrationCode = regCode }); if (op.Status == Domain.Infrastructure.Enums.OperationStatus.OK) { GameGram.Web.Mailer.MailHelper.SendNow( "Welcome to GameGram!!! Please use the registration code: " + regCode + " to activate your account.", model.EmailAddress, op.Item.FullName, "Welcome to GameGram!!!" ); return(RedirectToAction("Activate")); } else { ModelState.AddModelError("", op.Message); return(View()); } } catch (Exception e) { ModelState.AddModelError("", e.Message); return(View()); } }
public ViewModelLocator() { navigationService = new NavigationService(); appViewModel = new AppViewModel(); logInViewModel = new LogInViewModel(navigationService); registerEmailViewModel = new RegisterEmailViewModel(navigationService); forGetPassViewModel = new ForgetPassViewModel(navigationService); sendCodeEmailViewModel = new SendCodeEmailViewModel(navigationService); homeViewModel = new HomeViewModel(navigationService); confirmationCodeViewModel = new ConfirmCodeViewModel(navigationService); signUpViewModel = new SignUpViewModel(navigationService); createProjectViewModel = new CreateProjectViewModel(navigationService); projectPageViewModel = new ProjectPageViewModel(navigationService); listChannelsViewModel = new ListChannelsViewModel(navigationService); chatViewModel = new ChatViewModel(navigationService); accountViewModel = new AccountViewModel(navigationService); navigationService.AddPage(signUpViewModel, ViewType.SignUp); navigationService.AddPage(confirmationCodeViewModel, ViewType.ConfirmCode); navigationService.AddPage(registerEmailViewModel, ViewType.RegisterEmail); navigationService.AddPage(forGetPassViewModel, ViewType.ForgetPass); navigationService.AddPage(sendCodeEmailViewModel, ViewType.ForgotEmailCode); navigationService.AddPage(homeViewModel, ViewType.Home); navigationService.AddPage(logInViewModel, ViewType.LogIn); navigationService.AddPage(createProjectViewModel, ViewType.CreateProject); navigationService.AddPage(chatViewModel, ViewType.ChatView); navigationService.AddPage(projectPageViewModel, ViewType.ProjectPage); navigationService.AddPage(listChannelsViewModel, ViewType.ListChannels); navigationService.AddPage(accountViewModel, ViewType.Profile); userService = new UserService(); string user = CheckLoginLog.Load(); if (user != "" && userService.Select(user) != null) { CurrentUser.Instance.User = userService.Select(user); navigationService.NavigateTo(ViewType.Home); } else { navigationService.NavigateTo(ViewType.LogIn); } }
public async Task <ActionResult> RegisterEmail(RegisterEmailViewModel model) { if (ModelState.IsValid) { ViewBag.RegisterError = null; var user = await UserManager.FindByEmailAsync(model.Email); if (user != null) { ViewBag.RegisterError = string.Format("The email:{0} is already registered.", model.Email); return(View("RegisterEmail")); } return (await SendEmailConfirmationCode(new ConfirmEmailViewModel() { ConfirmEmailPurpose = ConfirmEmailPurpose.ConfirmEmailPurpose_CreateLocalAccount, Email = model.Email })); } // If we got this far, something failed, redisplay form return(View(model)); }