/// <summary> /// Добавляет нового пользователя в базу /// </summary> /// <param name="newUserLogin">логин</param> /// <param name="newUserPassword">пароль</param> /// <returns>True - пользователь успешно добавлен, иначе False</returns> public static UserError Add(string newUserLogin, string newUserPassword) { var client = new NewsService(); var newUser = new UserDto { Login = newUserLogin, PasswordHash = newUserPassword.GetSha256Hash() + newUserLogin.GetSha256Hash() }; var alreadyContainsUser = client.ContainsUser(newUserLogin); if (alreadyContainsUser) { return new UserError { Value = false, Message = Config.LoginAlreadyInUseMessage }; } try { client.AddUser(newUser); return new UserError { Value = true, Message = Config.NewUserSuccessAdded }; } catch (DataException) { return new UserError { Value = false, Message = Config.UnexpectedError }; } }
/// <summary> /// Удаляет пользователя(помечая удаленным IsDeleted = 1) /// </summary> /// <param name="selectedUser">Выбранный пользователь</param> /// <returns>Объект с ошибкой</returns> public static UserError Delete(UserDto selectedUser) { var client = new NewsService(); try { client.DeleteLazyUser(SelectedUser.Id); return new UserError { Value = true, Message = Config.UserSuccessDeleted }; } catch (DataException) { return new UserError { Value = false, Message = Config.UnexpectedError }; } }
public int AddUser(UserDto userDto) { return UsersAccessor.Add(Mapper.Map<UserEntity>(userDto)); }
public static UserError UpdateUser(UserDto userDto, string newLogin, string newPassword) { var client = new NewsService(); var loginChanged = userDto.Login != newLogin; //если логин поменялся if (loginChanged) { var alreadyContainsUser = client.ContainsUser(newLogin); if (alreadyContainsUser) { return new UserError { Value = false, Message = Config.LoginAlreadyInUseMessage }; } userDto.Login = newLogin; } var newPasswordHash = newPassword.GetSha256Hash() + userDto.Login.GetSha256Hash(); var passwordChanged = userDto.PasswordHash != newPasswordHash; //если поменялся пароль преобразовать его в хеш if (passwordChanged) { userDto.PasswordHash = newPasswordHash; } //если логин не менялся или поменялся на свободный try { client.UpdateUser(userDto); return new UserError { Value = true, Message = Config.NewUserSuccessUpdated }; } catch (DataException) { return new UserError { Value = false, Message = Config.UnexpectedError }; } }
public void UpdateUser(UserDto userDto) { UsersAccessor.Update(Mapper.Map<UserEntity>(userDto)); }