Represent a User in the Domain
Example #1
0
 public virtual MailMessage PasswordReset(string token, User user)
 {
     var mailMessage = new MailMessage {Subject = String.Format(Resources.EmailTemplates.PasswordReset_Subject, BgResources.Messages_SiteTitle)};
     ViewBag.Token = token;
     ViewBag.UserName = user.Username;
     ViewBag.Email = user.Email;
     mailMessage.To.Add(user.Email);
     mailMessage.From = new MailAddress(BgResources.Email_UserName);
     PopulateBody(mailMessage, viewName: "PasswordReset");
     return mailMessage;
 }
        public override string CreateAccount(string userName, string password, string email, string firstname, string lastname, string timezone, string culture, bool requireConfirmationToken)
        {
            if (string.IsNullOrEmpty(password))
                    {
                        throw new MembershipCreateUserException(MembershipCreateStatus.InvalidPassword);
                    }
                    string hashedPassword = CodeFirstCrypto.HashPassword(password);
                    if (hashedPassword.Length > 128)
                    {
                        throw new MembershipCreateUserException(MembershipCreateStatus.InvalidPassword);
                    }
                    if (string.IsNullOrEmpty(userName))
                    {
                        throw new MembershipCreateUserException(MembershipCreateStatus.InvalidUserName);
                    }
                    if (string.IsNullOrEmpty(email))
                    {
                        throw new MembershipCreateUserException(MembershipCreateStatus.InvalidEmail);
                    }
                    using (BlogUnitOfWork context = new BlogUnitOfWork(new ModelContextInit()))
                    {
                        dynamic user = context.Users.FirstOrDefault(Usr => Usr.Username == userName);
                        dynamic emailuser = context.Users.FirstOrDefault(Usr => Usr.Email == email);
                        if (user != null)
                        {
                            throw new MembershipCreateUserException(MembershipCreateStatus.DuplicateUserName);
                        }
                        if (emailuser != null)
                        {
                            throw new MembershipCreateUserException(MembershipCreateStatus.DuplicateEmail);
                        }
                        string token = null;
                        if (requireConfirmationToken)
                        {
                            token = CodeFirstCrypto.GenerateToken();
                        }
                        int defaultNumPasswordFailures = 0;
                        User NewUser = new User
                        {
                            UserId = Guid.NewGuid(),
                            Username = userName,
                            Password = hashedPassword,
                            IsConfirmed = !requireConfirmationToken,
                            Email = email,
                            ConfirmationToken = token,
                            CreateDate = DateTime.UtcNow,
                            PasswordChangedDate = DateTime.UtcNow,
                            PasswordFailuresSinceLastSuccess = defaultNumPasswordFailures,
                            LastPasswordFailureDate = DateTime.UtcNow,
                            Culture = culture,
                            TimeZone = timezone,
                            FirstName = firstname,
                            LastName = lastname,
                        };

                        context.Users.Add(NewUser);
                        context.SaveChanges();
                        return token;
                    }
        }
Example #3
0
 public virtual MailMessage Register(string token, string to, User user)
 {
     var mailMessage = new MailMessage { Subject = String.Format(Resources.EmailTemplates.RegisterMail_Subject, BgResources.Messages_SiteTitle) };
     ViewBag.Token = token;
     ViewBag.UserName = user.Username;
     ViewBag.Email = user.Email;
     ViewBag.ConfirmationToken = user.ConfirmationToken;
     mailMessage.To.Add(to);
     mailMessage.From = new MailAddress(BgResources.Email_UserName);
     PopulateBody(mailMessage, viewName: "Register");
     return mailMessage;
 }
Example #4
0
 public ActionResult Edit(User user, string[] selectedroles)
 {
     if (ModelState.IsValid)
     {
         AccountServices.SaveUser(user,selectedroles);
         return RedirectToAction("Index");
     }
     return View(user);
 }