public ApplicationResult <KeyDto> CreateKey(Guid userId, KeyCreationDto keyDto) { var userEdit = _userRepository.Get(userId); var passwordEncrypted = _passwordCryptographer.Encrypt(keyDto.Password); var keyEdit = KeyEdit.Create(userEdit, passwordEncrypted); var brokenRules = keyEdit.GetBrokenValidationRules(); if (!brokenRules.IsValid) { return new ApplicationResult <KeyDto>() { Errors = brokenRules.Errors.ToList(), IsFailure = true } } ; userEdit.CreateKey(keyEdit); _userRepository.CreateKey(keyEdit.Id, keyEdit); UnitOfWork.Commit(); return(new ApplicationResult <KeyDto>() { Data = Mapper.Map <KeyDto>(keyEdit), IsSuccessful = true }); }
public IActionResult CreateKeyByUser(Guid userId, [FromBody] KeyCreationDto key) { if (key == null) { return(BadRequest()); } var userFound = _userApplication.Get(userId).Data; if (userFound == null) { return(NotFound()); } var keyDto = _userApplication.CreateKey(userId, key).Data; return(CreatedAtRoute("GetKeyForUser", new { userId = keyDto.UserId, keyId = keyDto.Id }, CreateLink(keyDto))); }