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); }
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")); } }