private void CopyUsersProperties(User fromUser, User toUser)
 {
     if ((fromUser == null))
     {
         throw new ArgumentNullException("fromUser", "fromUser is null");
     }
     else
         if (toUser == null)
         {
             throw new ArgumentNullException("toUser", "toUser is null");
         }
         else
         {
             toUser.CreateDate = fromUser.CreateDate;
             toUser.Email = fromUser.Email;
             toUser.Info = fromUser.Info;
             toUser.IsApproved = fromUser.IsApproved;
             toUser.PasswordHash = fromUser.PasswordHash;
             toUser.PasswordSalt = fromUser.PasswordSalt;
             toUser.Login = fromUser.Login;
             toUser.Role = fromUser.Role;
         }
 }
 public void DeleteUser(User user)
 {
     if(user == null)
     {
         throw new ArgumentNullException("user");
     }
     var existUser = dbContext.Users.FirstOrDefault(x => x.UserId == user.UserId);
     if (existUser != null)
     {
         dbContext.Users.Remove(existUser);
     }
     else
     {
         throw new ArgumentNullException("user", "user is Null");
     }
 }
 public void UpdateUser(User user)
 {
     var existUser = dbContext.Users.FirstOrDefault<User>(x => x.UserId == user.UserId);
     if (user == null)
     {
         throw new ArgumentNullException("user", "user is null");
     }
     if (existUser == null)
     {
         throw new InvalidDataException("User doesn't exist in current database");
     }
     else
     {
         if (existUser != user)
         {
             CopyUsersProperties(user, existUser);
         }
         dbContext.Entry(existUser).State = System.Data.EntityState.Modified;
     }
 }
 public void CreateUser(User user)
 {
     if (user == null)
     {
         throw new ArgumentNullException("user", "user is null");
     }
     dbContext.Users.Add(user);
 }