public ActionResult Analisar(int protocoloId = 0, int requerimentoId = 0) { AnaliseItemVM vm = new AnaliseItemVM(); if (protocoloId == 0 || requerimentoId == 0) { return(View(vm)); } IProtocolo protocolo = _protocoloBus.Obter(protocoloId); AnaliseItem analise = _bus.VerificarProtocolo(protocolo.Numero); if (!Validacao.EhValido) { return(RedirectToAction("Analisar", "AnaliseItens", Validacao.QueryParamSerializer())); } vm.Requerimentos = analise.Requerimentos; vm.RequerimentoSelecionado = requerimentoId; vm.ProjetoDigitalId = _busProjetoDigitalCredenciado.ObterProjetoDigitalId(requerimentoId); vm.ProtocoloId = protocoloId; vm.ProtocoloNumero = protocolo.Numero; Requerimento req = vm.Requerimentos.FirstOrDefault(x => x.Id == requerimentoId); AnaliseItem analiseAux = _bus.ObterPorChecagem(req.Checagem); if (analiseAux != null && analiseAux.Id > 0) { analise.Id = analiseAux.Id; analise.Situacao = analiseAux.Situacao; } if (_validar.ValidarProtocoloAnalisar(req.Checagem, req.Id, protocolo.IsProcesso)) { if (_validar.Analise(analise)) { // Caso não exista a analise na entrada no metodo abaixo a mesma vai ser criada analise = _bus.ObterAnaliseProtocolo(req, protocolo.Id.GetValueOrDefault(), false); vm.AnaliseId = analise.Id; vm.CheckListId = req.Checagem; vm.Atualizado = false; vm.Roteiros = analise.Roteiros; analise.Itens.ForEach(x => x.Analista = string.Empty); vm.ListarItens = analise.Itens; } } vm.Situacao = analise.Situacao; vm.UrlsCaracterizacoes = ObterUrlsCaracterizacoes(_busCaracterizacao.ObterCaracterizacoes(vm.ProjetoDigitalId)); return(View(vm)); }