コード例 #1
0
        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));
        }
コード例 #2
0
        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());
            }
        }
コード例 #3
0
ファイル: ViewModelLocator.cs プロジェクト: xnubar/Asana
        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);
            }
        }
コード例 #4
0
        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));
        }