Example #1
0
        public ActionResult CadastroCliente([Bind(Include = "Nome,Telefones,Email")] Cliente cliente)
        {
            if (ModelState.IsValid)
            {
                // Reune os telefones
                string[] telefonesAtuais = cliente.Telefones.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);

                if (ValidarTelefones(telefonesAtuais))
                {
                    cliente.DataCriacao = DateTime.Now;
                    UnitOfWorkCliente.Save(cliente);

                    // Adiciona os telefones
                    foreach (string telefone in telefonesAtuais)
                    {
                        UnitOfWorkTelefone.Save(new TelefoneCliente()
                        {
                            CodCliente = cliente.CodCliente, Telefone = telefone
                        });
                    }
                }
                else
                {
                    ViewBag.ErroTelefone = true;
                    return(View());
                }
            }

            return(RedirectToAction("ListagemClientes", new { mensagem = "cadastrado" }));
        }
Example #2
0
        /// <summary>
        /// Edição do cliente do tipo GET
        /// </summary>
        public ActionResult EditarCliente(int?codCliente)
        {
            Cliente cliente = new Cliente();

            // Busca o cliente
            cliente = UnitOfWorkCliente.GetById(codCliente);

            if (cliente != null)
            {
                // Armazena o telefone em uma lista de string para exibição
                cliente.Telefones = string.Join("\n", cliente.TelefoneCliente.Select(t => t.Telefone));
                return(View(cliente));
            }
            else
            {
                return(RedirectToAction("ListagemClientes"));
            }
        }
Example #3
0
        /// <summary>
        /// Método responsável por listar os clientes
        /// </summary>
        public ActionResult ListagemClientes(int pagina = 1)
        {
            ClienteViewModel clienteViewModel = new ClienteViewModel();
            Paginacao        paginacao        = new Paginacao();

            clienteViewModel.Clientes = UnitOfWorkCliente.GetAll()
                                        .OrderByDescending(c => c.DataCriacao)
                                        .Skip((pagina - 1) * ClientesPorPagina)
                                        .Take(ClientesPorPagina);

            // Monta a paginação
            paginacao.PaginaAtual    = pagina;
            paginacao.ItensPorPagina = ClientesPorPagina;
            paginacao.ItensTotal     = UnitOfWorkCliente.GetAll().Count();


            clienteViewModel.Paginacao = paginacao;

            return(View(clienteViewModel));
        }
Example #4
0
        public ActionResult EditarCliente([Bind(Include = "CodCliente,Nome,Email, Telefones")] Cliente cliente)
        {
            List <TelefoneCliente> telefonesAntigos = new List <TelefoneCliente>();

            string[] telefonesAtuais = cliente.Telefones.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);

            if (ValidarTelefones(telefonesAtuais))
            {
                // Reune os telefones antigos
                telefonesAntigos = UnitOfWorkTelefone.Where(t => t.CodCliente == cliente.CodCliente).ToList();

                // Apaga os telefones existentes
                foreach (TelefoneCliente telefone in telefonesAntigos)
                {
                    UnitOfWorkTelefone.Delete(telefone);
                }

                // Adiciona os novos telefones
                foreach (string telefone in telefonesAtuais)
                {
                    UnitOfWorkTelefone.Save(new TelefoneCliente()
                    {
                        CodCliente = cliente.CodCliente, Telefone = telefone
                    });
                }

                // Atualiza o cliente
                UnitOfWorkCliente.Update(cliente);
            }
            else
            {
                ViewBag.ErroTelefone = true;
                return(View());
            }

            return(RedirectToAction("ListagemClientes", new { mensagem = "alterado" }));
        }
Example #5
0
        /// <summary>
        /// Método para excluir um cliente
        /// </summary>
        public ActionResult ExcluirCliente(int id)
        {
            Cliente cliente = new Cliente();

            cliente = UnitOfWorkCliente.GetById(id);

            if (cliente != null)
            {
                List <TelefoneCliente> telefonesCliente = new List <TelefoneCliente>();

                telefonesCliente = UnitOfWorkTelefone.Where(t => t.CodCliente == cliente.CodCliente).ToList();

                // Apaga os telefones
                foreach (TelefoneCliente telefone in telefonesCliente)
                {
                    UnitOfWorkTelefone.Delete(telefone);
                }

                // Apaga o cliente
                UnitOfWorkCliente.Delete(cliente);
            }

            return(RedirectToAction("ListagemClientes", new { mensagem = "excluído" }));
        }