Esempio n. 1
0
        public async Task <IActionResult> Create(ClientesViewModel clientesViewModel)
        {
            var clientesValidator = new ClientesValidator();

            if (!clientesValidator.IsCpf(clientesViewModel.CPF))
            {
                ModelState.AddModelError("CPF", "O CPF é inválido.");
            }

            var cliente = new Cliente
            {
                Id          = clientesViewModel.Id,
                Nome        = clientesViewModel.Nome,
                Sobrenome   = clientesViewModel.Sobrenome,
                CPF         = clientesViewModel.CPF,
                Endereco    = clientesViewModel.Endereco,
                Idade       = clientesViewModel.Idade,
                EstadoCivil = clientesViewModel.estadoCivil
            };

            var(exists, errorExists) = await clienteRepository.ExistsAsync(cliente);

            if (exists)
            {
                foreach (var error in errorExists)
                {
                    ModelState.AddModelError(error.Key, error.Value);
                }
            }
            if (ModelState.IsValid)
            {
                await clienteRepository.AddClienteAsync(cliente);

                return(RedirectToAction(nameof(Index)));
            }
            return(View(clientesViewModel));
        }