Beispiel #1
0
        public async Task <IActionResult> Edit(ClientesViewModel clientesViewModel)
        {
            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 clientesValidator = new ClientesValidator();

            if (!clientesValidator.IsCpf(clientesViewModel.CPF))
            {
                ModelState.AddModelError("CPF", "O CPF é inválido.");
            }
            var(exists, errorExists) = await clienteRepository.ExistsAsync(cliente);

            if (exists)
            {
                foreach (var error in errorExists)
                {
                    ModelState.AddModelError(error.Key, error.Value);
                }
            }
            if (ModelState.IsValid)
            {
                try
                {
                    await clienteRepository.UpdateClienteAsync(cliente);
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!await clienteRepository.ClientesExists(clientesViewModel.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(clientesViewModel));
        }
Beispiel #2
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));
        }