public MembershipUser CreateUser(string email, string Password)
        {
            MembershipUser membershipUser = GetUser(email, false);

            if (membershipUser != null)
            {
                return null;
            }

            UserDTO user = new UserDTO
            {
                Email = email,
                Password = Crypto.HashPassword(Password)
            };

            var role = roleService.GetAll().FirstOrDefault(r => r.Name == "User");
            if (role != null)
            {
                user.RoleId = role.Id;
            }

            userService.Create(user);
            membershipUser = GetUser(email, false);

            return membershipUser;
        }
        public ActionResult EditProfile(UserModel model)
        {
            BLL.DTO.UserDTO UserDTO = new BLL.DTO.UserDTO();
            var             user    = DbManager.GetUser(Login: User.Identity.Name);

            UserDTO.Id              = model.Id;
            UserDTO.LoginName       = model.LoginName;
            UserDTO.IsProfileShared = model.SharedProfile;
            UserDTO.BirthDate       = model.Birthdate;
            UserDTO.CreateTime      = user.CreateTime;
            UserDTO.Nickname        = model.Nickname;
            UserDTO.PasswordHash    = user.PasswordHash;
            UserDTO.Salt            = user.Salt;
            UserDTO.ImageAvatarId   = model.ImageAvatarId;
            UserDTO.PostsId         = new List <int>();
            model.PostsId.ForEach(UserDTO.PostsId.Add);
            try
            {
                DbManager.CreateOrUpdateUser(UserDTO);
                return(RedirectToAction("Login"));
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", "Something wrong");
                return(View(model));
            }
        }
        public void Create(UserDTO user)
        {
            User u = new User
            {
                Email = user.Email,
                Password = user.Password,
                RoleId = user.RoleId
            };
            Database.Users.Create(u);
            Database.Save();

            DAL.Entities.Profile prof = new DAL.Entities.Profile
            {
                 FirstName = "Undefined",
                 LastName = "Undefined",
                 Age = 0,
                 CreationDate = DateTime.Now,
                 UserId = u.Id
            };
            Database.Profiles.Create(prof);
            Database.Save();
        }
        public ActionResult RegUser(RegUserModel model)
        {
            if (!ModelState.IsValid)
            {
                ModelState.AddModelError("", "Username or Password invalid");
                return(View(model));
            }

            var salt     = Hash.CreateSalt(16);
            var passhash = Hash.GenerateSaltedHash(model.Password, salt);
            // Console.WriteLine("Start");
            var user = new BLL.DTO.UserDTO
            {
                BirthDate       = model.BirthDate,
                PostsId         = new List <int>(),
                IsProfileShared = model.SharedProfile,
                LoginName       = model.LoginName,
                Nickname        = model.Nickname,
                CreateTime      = DateTime.Now,
                Salt            = Convert.ToBase64String(salt),
                PasswordHash    = Convert.ToBase64String(passhash)
            };


            try
            {
                DbManager.CreateOrUpdateUser(user);
            }
            catch (Exception ex)
            {
                ViewBag.Error  = ex.Message;
                model.Password = null;

                return(View(model));
            }
            return(RedirectToAction("Login"));
        }
 public void Update(UserDTO user)
 {
     Mapper.CreateMap<UserDTO, User>();
     User updateUser = Mapper.Map<UserDTO, User>(user);
     Database.Users.Update(updateUser);
 }