Пример #1
0
        public IActionResult Pesquisar(string cpf, string nome)
        {
            var clientes = this.clienteRepository.List();

            if (!string.IsNullOrEmpty(cpf))
            {
                clientes = clientes.Where(x => x.CPF == FormatUtils.ConverterStringParaCPF(cpf)).ToList();
            }

            if (!string.IsNullOrEmpty(nome))
            {
                clientes = clientes.Where(x => x.Nome.ToLower().Contains(nome.ToLower().Trim())).ToList();
            }

            var clientesViewModel = new List <SelecaoClienteViewModel>();

            if (clientes != null)
            {
                foreach (var item in clientes)
                {
                    clientesViewModel.Add(new SelecaoClienteViewModel
                    {
                        Cpf           = item.CPF.ToString(),
                        Nome          = item.Nome,
                        IsSelecionado = false
                    });
                }
            }

            return(PartialView("~/Views/Cliente/Partial/ListagemSelecaoCliente.cshtml", clientesViewModel));
        }
Пример #2
0
        public IActionResult Create(ClienteViewModel clienteViewModel)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var cpf       = FormatUtils.ConverterStringParaCPF(clienteViewModel.Cpf);
                    var existente = this.clienteRepository.Get(x => x.CPF == cpf);

                    if (existente != null)
                    {
                        ModelState.AddModelError("Cpf", "Não é possível cadastrar cliente. CPF duplicado!");
                        return(View(clienteViewModel));
                    }

                    this.clienteRepository.Create((Cliente)clienteViewModel);

                    TempData["sucesso"] = "Cadastro realizado com sucesso!";
                    return(RedirectToAction("Index", "Home"));
                }
                catch (Exception ex)
                {
                    TempData["erro"] = $"Ocorreu um erro durante o processamento. Mensagem: {ex.Message}.";
                    return(RedirectToAction("Index", "Home"));
                }
            }

            return(View(clienteViewModel));
        }