public async Task <bool> CreateAsync(AppUser user) { try { user.Password = EncodePassword(user.Password); await _appUserRepository.CreateAsync(user); return(true); } catch (Exception exp) { throw new Exception(exp.Message); } }
public async Task <IdentityResult> CreateAsync(AppUser user, string password) { return(await _appUserRepository.CreateAsync(user, password)); }
public async Task <IActionResult> Post([FromBody] NewUserModel item) { if (!ModelState.IsValid) { return(StatusCode(422, "Помилкові данні.")); } if (string.IsNullOrEmpty(item.UserName)) { return(StatusCode(422, "Відсутнє ім'я користувача.")); } if (string.IsNullOrEmpty(item.LastName)) { return(StatusCode(422, "Відсутнє прізвище користувача.")); } var userExist = await _appUserRepository.IsExistAsync(item.UserName); if (userExist.Result == OperationResult.Error) { return(StatusCode(422, userExist.Message)); } if (userExist.Value) { return(StatusCode(422, "Користувач вже існує.")); } if (string.IsNullOrEmpty(item.Password)) { return(StatusCode(422, "Відсутній пароль.")); } if (item.Password.Length < 3) { return(StatusCode(422, "Пароль занадто короткий.")); } if (item.RoleId == default(Guid)) { var resultDefaultId = await _appRoleRepository.GetDefaultIdAsync(); if (resultDefaultId.Result == OperationResult.Ok) { if (resultDefaultId.Value == default(Guid)) { return(StatusCode(422, "Роль за замовчуванням не знайдена.")); } item.RoleId = resultDefaultId.Value; } else { return(StatusCode(422, resultDefaultId.Message)); } } else { try { var isRoleExist = await _appRoleRepository.IsExistGuidAsync(item.RoleId); if (isRoleExist.Result == OperationResult.Error) { return(StatusCode(422, userExist.Message)); } if (!isRoleExist.Value) { return(StatusCode(422, "Роль не існує.")); } } catch (Exception ex) { return(StatusCode(422, $"Помилковий ідентифікатор ролі. {ex.Message}")); } } var result = await _appUserRepository.CreateAsync(item); if (result.Result == OperationResult.Ok) { return(StatusCode(201, result.Value)); } return(StatusCode(422, result.Message)); }