Example #1
0
        public int Create2(User user, string password)
        {
            if (string.IsNullOrWhiteSpace(password))
            {
                return(1);
            }

            if (DbContext.Users.Any(x => x.Username == user.Username))
            {
                return(-1);
            }
            byte[] passwordHash;
            byte[] passwordSalt;

            AuthenticationUser.CreatePasswordHash(password, out passwordHash, out passwordSalt);

            user.PasswordHash = passwordHash;
            user.PasswordSalt = passwordSalt;
            user.RoleId       = 3;
            user.ImgAvatar    = "0000userPng.png";
            DbContext.Users.Add(user);
            DbContext.SaveChanges();

            return(2);
        }
Example #2
0
        public void Update(UserDto userParam, string password = null)
        {
            var user = DbContext.Users.Find(userParam.UserId);

            if (user == null)
            {
                throw new Exception("User not found");
            }

            if (userParam.Username != user.Username)
            {
                // username has changed so check if the new username is already taken
                if (DbContext.Users.Any(x => x.Username == userParam.Username))
                {
                    throw new Exception("Username " + userParam.Username + " is already taken");
                }
            }

            userParam.ImgAvatar = UploadedFile(userParam);
            if (userParam.ImgAvatar == null)
            {
                userParam.ImgAvatar = user.ImgAvatar;
            }
            // update user properties
            user.FirstName = userParam.FirstName;
            user.LastName  = userParam.LastName;
            user.Username  = userParam.Username;
            user.Address   = userParam.Address;
            user.Birthday  = userParam.Birthday;
            user.ImgAvatar = userParam.ImgAvatar;
            user.Email     = userParam.Email;
            user.Phone     = userParam.Phone;
            user.RoleId    = userParam.RoleId;

            user.UpdateDate = DateTime.Now;


            // update password if it was entered
            if (!string.IsNullOrWhiteSpace(password))
            {
                byte[] passwordHash, passwordSalt;
                AuthenticationUser.CreatePasswordHash(password, out passwordHash, out passwordSalt);

                user.PasswordHash = passwordHash;
                user.PasswordSalt = passwordSalt;
            }

            DbContext.Users.Update(user);
            DbContext.SaveChanges();
        }