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
            });
        }
Esempio n. 2
0
        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)));
        }