Exemplo n.º 1
0
        private Resultado <IndexClienteViewModel> CarregarModel(int?pagina, IndexClienteViewModel.TipoOperacao operacao)
        {
            var resultado = new Resultado <IndexClienteViewModel>(true);

            try
            {
                pagina = pagina ?? 1;
                var resultadoListar = OperacionalFacade.ListarTodosClientes(pagina.Value, c_tamanhoPagina);
                resultado += resultadoListar;
                if (resultado.Sucesso)
                {
                    var lista       = resultadoListar.Retorno.Item1;
                    var total       = resultadoListar.Retorno.Item2;
                    var totalPagina = (int)Math.Ceiling((float)total / c_tamanhoPagina);

                    var model = new IndexClienteViewModel()
                    {
                        Pagina         = pagina.Value,
                        TotalPagina    = totalPagina,
                        ListaCliente   = lista,
                        Operacao       = operacao,
                        ClienteAlterar = new Cliente(),
                        TamanhoPagina  = c_tamanhoPagina
                    };
                    resultado.Retorno = model;
                }
            }
            catch (Exception ex)
            {
                resultado = new Resultado <IndexClienteViewModel>(ex);
            }
            return(resultado);
        }
Exemplo n.º 2
0
        public ActionResult Salvar(IndexClienteViewModel model)
        {
            var resultado = new Resultado(true);
            var cliente   = model.ClienteAlterar;

            cliente.CPF      = Formata.RemoveFormatoCPF(cliente.CPF);
            cliente.RG       = Formata.RemoveFormatoCPF(cliente.RG);
            cliente.Telefone = Formata.RemoveFormatoTelefone(cliente.Telefone);

            if (model.Operacao == IndexClienteViewModel.TipoOperacao.Incluir)
            {
                resultado = ComercialFacade.IncluirCliente(cliente);
            }
            else
            {
                resultado = ComercialFacade.AlterarCliente(cliente);
            }

            IndexClienteViewModel.TipoOperacao operacao;
            if (resultado.Sucesso)
            {
                operacao = IndexClienteViewModel.TipoOperacao.Listar;
            }
            else
            {
                operacao = model.Operacao;
            }

            var resultadoCarregar = CarregarModel(model.Pagina, operacao);
            var newModel          = resultadoCarregar.Retorno;

            if (!resultado.Sucesso)
            {
                ModelState.AddModelResultoErro(resultado, "ClienteAlterar");
                newModel.ClienteAlterar = model.ClienteAlterar;
                newModel.IsValid        = resultado.Sucesso;
                return(View("Index", newModel));
            }
            else
            {
                return(View("Index"));
            }
        }