Пример #1
0
        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));
        }