예제 #1
0
        public ActionResult Editar(int id)
        {
            ActionResult retorno = Redirecionar(id, true);

            if (retorno != null)
            {
                return(retorno);
            }

            Documento documento = _bus.Obter(id);

            if (!Validacao.EhValido)
            {
                return(RedirectToAction("Index", Validacao.QueryParamSerializer()));
            }

            SalvarVM vm = new SalvarVM(_busLista.TiposDocumento, _busLista.SetoresAtuais, documento.Tipo.Id);

            if (documento != null)
            {
                vm.AssinantesVM.MergeAssinantesCargos(documento.Assinantes);
                vm.Tipo = _busLista.TiposDocumento.First(x => x.Id == documento.Tipo.Id);
                if (documento.DestinatarioSetor.Id > 0)
                {
                    var setor = vm.SetoresDestinatario.First(x => x.Value == documento.DestinatarioSetor.Id.ToString());
                    if (setor != null)
                    {
                        setor.Selected = true;
                    }
                }

                if (documento.DestinatarioSetor.Id > 0)
                {
                    vm.DestinatarioFuncionarios = ViewModelHelper.CriarSelectList(_busTramitacao.ObterFuncionariosSetor(documento.DestinatarioSetor.Id), true, selecionado: documento.Destinatario.Id.ToString());
                }
            }

            if (vm.AssinantesVM.Assinantes != null && vm.AssinantesVM.Assinantes.Count > 0)
            {
                vm.AssinantesVM.Assinantes = _busTitulo.ObterAssinantesCargos(vm.AssinantesVM.Assinantes).Where(x => x.Selecionado).ToList();
            }

            vm.SetDocumento(documento, _busLista.ResponsavelFuncoes);

            vm.IsEditar = true;
            vm.RequerimentoVM.IsEditar = true;

            if (Request.IsAjaxRequest())
            {
                return(Json(new { @EhValido = Validacao.EhValido, @Html = ViewModelHelper.RenderPartialViewToString(ControllerContext, "DocumentoPartial", vm) }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(View(vm));
            }
        }