public async Task CreateUserAsync(UserInputModel user) { try { UserValidation.InsertValidation(user); var userData = user.ToData(IdentityServerCryptography); await UserDataAccess.InsertAsync(userData); } catch (MongoWriteException ex) { ex.ThrowIfDuplicateKey(nameof(user.Email), $"O email '{user.Email}' já existe.");; throw new Exception("An error occours when create a user."); } }
public async Task <UserModel> UpdateUserAsync(UserInputModel userInputModel) { try { UserValidation.UpdateValidaton(userInputModel); var userData = userInputModel.ToData(this.IdentityServerCryptography); var updatedUserData = await this.UserDataAccess.ReplaceAsync(userData); return(updatedUserData.ToModel(this.IdentityServerCryptography)); } catch (MongoWriteException ex) { ex.ThrowIfDuplicateKey(nameof(userInputModel.Email), $"O email '{userInputModel.Email}' já existe."); throw new Exception("An error occours when update a user."); } }