コード例 #1
0
        public Result Insert(UserDTO userDTO)
        {
            var validationRules  = new UserValidator();
            var validationResult = validationRules.Validate(userDTO);

            if (!validationResult.IsValid)
            {
                string errors = null;

                foreach (var failure in validationResult.Errors)
                {
                    errors += "Propriedade: " + failure.PropertyName + ". Erro: " +
                              failure.ErrorMessage + " .";
                }
                return(Results.Fail(errors));
            }

            var userValidator = new UserCreateValidator(_context, userDTO);

            if (!userValidator.UserExists())
            {
                Result error = Results.Fail("Esse e-mail já foi cadastrado!");
                return(error.Errors.ToResult());
            }
            var user = _mapper.Map <UserDTO, User>(userDTO);

            _context.User.Add(user);
            _context.SaveChanges();
            userDTO.Id = user.Id;

            return(Results.Ok(user.Id));
        }
コード例 #2
0
        public IActionResult EditProfile(UserCreateModel userEdit)
        {
            var validator = new UserCreateValidator();

            if (validator.Validate(userEdit).IsValid)
            {
                var accountBL = new AccountBL(_uow, _mapper);
                if (accountBL.EditProfile(userEdit))
                {
                    return(RedirectToAction("AccountPage"));
                }
            }
            return(View(userEdit));
        }
コード例 #3
0
        public IActionResult Registration(UserCreateModel userCreateModel)
        {
            var validator = new UserCreateValidator();

            if (validator.Validate(userCreateModel).IsValid)
            {
                var accountBL = new AccountBL(_uow, _mapper);
                if (accountBL.Registration(userCreateModel))
                {
                    return(RedirectToAction("Login", new UserLoginModel
                    {
                        Email = userCreateModel.Email,
                        Password = userCreateModel.Password
                    }));
                }
            }
            return(View(userCreateModel));
        }
コード例 #4
0
        public async Task <ActionResult <ResponseModel <User> > > PutUser([FromBody] CreationUserModel request)
        {
            ResponseModel <User> result;
            var validator        = new UserCreateValidator();
            var validationResult = validator.Validate(request);

            if (!validationResult.IsValid)
            {
                result = new ResponseModel <User>
                {
                    Errors    = validationResult.Errors.Select(x => x.ErrorMessage).ToList(),
                    IsSuccess = false,
                    Result    = null
                };
                return(BadRequest(result));
            }

            try
            {
                result = new ResponseModel <User>
                {
                    Errors    = null,
                    IsSuccess = true,
                    Result    = await _userRepository.PutUser(request)
                };
            }
            catch (ValidationException e)
            {
                Console.WriteLine(e);
                result = new ResponseModel <User>
                {
                    Errors = new List <string> {
                        e.Message
                    },
                    IsSuccess = false,
                    Result    = null
                };
                return(BadRequest(result));
            }

            return(result);
        }