public ActionResult editar(int?id) { var ViewModel = new CentroCustoForm(); var OCentroCusto = this.OCentroCustoBL.carregar(UtilNumber.toInt32(id)) ?? new CentroCusto(); ViewModel.listaMacroConta = this.OMacroContaBL.listar("", true).ToList(); ViewModel.CentroCusto = OCentroCusto; ViewModel.carregarCheckboxes(); return(View(ViewModel)); }
public ActionResult editar(CentroCustoForm ViewModel) { ViewModel.listaMacroConta = this.OMacroContaBL.listar("", true).OrderBy(x => x.descricao).ToList(); if (!ModelState.IsValid) { ViewModel.carregarCheckboxes(); return(View(ViewModel)); } bool flagSucesso = this.OCentroCustoBL.salvar(ViewModel.CentroCusto); if (flagSucesso) { var idsSelecionados = ViewModel.listaSelecionados.Where(x => x.isChecked) .Select(x => x.id) .ToArray(); var listaMacroContaCentroCusto = ViewModel.listaMacroConta .Where(x => idsSelecionados.Contains(x.id)) .Select(o => new CentroCustoMacroConta() { idMacroConta = o.id, idCentroCusto = ViewModel.CentroCusto.id }) .ToList(); this.OCentroCustoMacroContaBL.salvar(0, ViewModel.CentroCusto.id, listaMacroContaCentroCusto); CacheService.getInstance.remover(CentroCustoBL.keyCache); this.Flash(UtilMessage.TYPE_MESSAGE_SUCCESS, UtilMessage.success("Sucesso!", "Os dados foram salvos com sucesso.")); return(RedirectToAction("editar", new { ViewModel.CentroCusto.id })); } this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, UtilMessage.error("Erro!", "Houve um problema ao salvar o registro. Tente novamente.")); return(View(ViewModel)); }