コード例 #1
0
ファイル: AuthController.cs プロジェクト: jilnesta/BriskChat
        public IActionResult ResetPasswordInitiation(ResetPasswordInitiationViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var user = getUserByEmail.Invoke(model.Email, model.DomainName);

            if (user == null)
            {
                Alert.Danger("We don't have this account in database");

                return(View(model));
            }

            var token       = addUserTokenToUser.Invoke(user.Id);
            var callbackUrl = Url.Action("ResetPasswordByToken", "Auth", new { token },
                                         Request.Scheme);
            var emailInfo     = new EmailBodyHelper().GetResetPasswordBodyModel(callbackUrl);
            var stringView    = RenderViewToString("EmailTemplate", emailInfo);
            var message       = emailService.CreateMessage(model.Email, "Reset your password", stringView);
            var mappedMessage = AutoMapper.Mapper.Map <EmailMessageModel>(message);

            addNewEmailMessage.Invoke(mappedMessage);
            Alert.Success("Email will be sent to your account shortly");

            return(RedirectToAction("Login"));
        }
コード例 #2
0
        public void Test_GetTemplate_UserActionNeeded()
        {
            string strContents;

            EmailBodyHelper objEmailBodyHelper = new EmailBodyHelper();

            Assert.IsTrue(objEmailBodyHelper.GetTemplateFileContents(EmailTemplates.EmailTemplate_UserActionNeededReminder, out strContents));
            Assert.IsTrue(string.IsNullOrEmpty(strContents) == false);
        }
コード例 #3
0
        public void Test_GetTemplate()
        {
            string strContents;

            EmailBodyHelper objEmailBodyHelper = new EmailBodyHelper();

            Assert.IsTrue(objEmailBodyHelper.GetTemplateFileContents(EmailTemplates.EmailTemplate_Stats, out strContents));
            Assert.IsTrue(string.IsNullOrEmpty(strContents) == false);
        }
コード例 #4
0
ファイル: AuthController.cs プロジェクト: jilnesta/BriskChat
        public IActionResult CreateDomain(CreateDomainViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var domain = addNewDomain.Invoke(new DomainModel {
                Name = model.DomainName
            });

            if (domain == Guid.Empty)
            {
                ModelState.AddModelError("DomainName", "This domain already exists in our database");

                return(View(model));
            }

            var userModel = new UserModel {
                Email = model.Email, Password = model.Password, Name = model.Name, Domain = new DomainModel {
                    Id = domain
                }
            };
            var userAddAction = addNewUser.Invoke(userModel);

            if (userAddAction == null)
            {
                Alert.Danger("User already exists");

                return(View());
            }

            var callbackUrl = Url.Action("ConfirmEmail", "Auth", new { token = userAddAction.Tokens.FirstOrDefault().SecretToken },
                                         Request.Scheme);
            var emailinfo     = new EmailBodyHelper().GetRegisterEmailBodyModel(callbackUrl);
            var stringView    = RenderViewToString("EmailTemplate", emailinfo);
            var message       = emailService.CreateMessage(model.Email, "Confirm your account", stringView);
            var mappedMessage = AutoMapper.Mapper.Map <EmailMessageModel>(message);

            addNewEmailMessage.Invoke(mappedMessage);

            setDomainOwner.Invoke(userAddAction.Id, domain);

            var role = getRoleByName.Invoke(RoleNamesConstants.Owner);

            // Add user to UserDomains table
            addUserToDomain.Invoke(userAddAction.Id, domain, role.Id);

            Alert.Success("Confirmation email has been sent to your email address");

            return(RedirectToAction("Login", "Auth", new { domainName = model.DomainName }));
        }
コード例 #5
0
ファイル: AuthController.cs プロジェクト: jilnesta/BriskChat
        public IActionResult ResendConfirmationEmail(ResendConfirmationEmailViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var user = getUserByEmail.Invoke(model.Email, model.DomainName);

            if (user == null)
            {
                Alert.Danger("We don't have this account in database");

                return(View(model));
            }

            if (user.EmailConfirmedOn != null)
            {
                Alert.Info("Email already confirmed");

                return(RedirectToAction("Login"));
            }

            var token = addUserTokenToUser.Invoke(user.Id);

            var callbackUrl   = Url.Action("ConfirmEmail", "Auth", new { token }, Request.Scheme);
            var emailInfo     = new EmailBodyHelper().GetRegisterEmailBodyModel(callbackUrl);
            var stringView    = RenderViewToString("EmailTemplate", emailInfo);
            var message       = emailService.CreateMessage(model.Email, "Confirm your account", stringView);
            var mappedMessage = AutoMapper.Mapper.Map <EmailMessageModel>(message);

            addNewEmailMessage.Invoke(mappedMessage);
            Alert.Success("Check your inbox");

            return(RedirectToAction("Login"));
        }