Exemplo n.º 1
0
        public ActionResult Liberacao(int?id)
        {
            LiberacaoContratoLiberacaoViewModel      model = new LiberacaoContratoLiberacaoViewModel();
            ICollection <ContratoRetificacaoItemDTO> ListaItensUltimoContratoRetificacao = new HashSet <ContratoRetificacaoItemDTO>();

            ContratoDTO contrato = contratoAppService.ObterPeloId(id, Usuario.Id) ?? new ContratoDTO();
            ContratoRetificacaoItemDTO contratoRetificacaoItem = new ContratoRetificacaoItemDTO();

            model.ListaServicoContratoRetificacaoItem = new SelectList(new List <ContratoRetificacaoItemDTO>(), "Id", "SequencialDescricaoItemComplemento");

            model.ContratoRetificacaoItemMedicao.ContratoId = contrato.Id.Value;
            model.Contrato = contrato;

            if (id.HasValue && !contratoAppService.EhContratoExistente(contrato))
            {
                return(View(model));
            }

            if (!contratoAppService.EhContratoComCentroCustoAtivo(contrato))
            {
                return(View(model));
            }

            ContratoRetificacaoDTO contratoRetificacao = contrato.ListaContratoRetificacao.Last();

            if (!contratoRetificacaoAppService.EhRetificacaoExistente(contratoRetificacao))
            {
                return(View(model));
            }

            if (!contratoRetificacaoAppService.EhRetificacaoAprovada(contratoRetificacao))
            {
                return(View(model));
            }

            model.ContratoRetificacao = contratoRetificacao;

            model.ContratoRetificacaoItemMedicao.ContratoRetificacaoId = contratoRetificacao.Id.Value;

            ListaItensUltimoContratoRetificacao = contratoRetificacao.ListaContratoRetificacaoItem;

            ListaItensUltimoContratoRetificacao.Add(CriaRetificacaoItemFakeTodosOsItens());

            model.ListaServicoContratoRetificacaoItem = new SelectList(ListaItensUltimoContratoRetificacao.OrderBy(l => l.Sequencial), "Id", "SequencialDescricaoItemComplemento", ListaItensUltimoContratoRetificacao.Select(l => l.Id.Value));

            List <ItemLiberacaoDTO> listaItemLiberacao = new List <ItemLiberacaoDTO>();

            contratoAppService.RecuperarMedicoesALiberar(contrato, contratoRetificacaoItem, model.Resumo, out listaItemLiberacao);
            model.PodeConcluirContrato = contratoAppService.PodeConcluirContrato(contrato);

            model.JsonListaItemLiberacao = JsonConvert.SerializeObject(listaItemLiberacao, Formatting.Indented, new JsonSerializerSettings {
                ReferenceLoopHandling = ReferenceLoopHandling.Ignore
            });

            model.PodeHabilitarBotoes = contratoAppService.EhPermitidoHabilitarBotoes(contrato);

            model.PodeAprovarLiberar        = contratoAppService.EhPermitidoAprovarLiberarLiberacao();
            model.PodeAprovar               = contratoAppService.EhPermitidoAprovarLiberacao();
            model.PodeLiberar               = contratoAppService.EhPermitidoLiberarLiberacao();
            model.PodeCancelarLiberacao     = contratoAppService.EhPermitidoCancelarLiberacao();
            model.PodeAssociarNotaFiscal    = contratoAppService.EhPermitidoAssociarNFLiberacao();
            model.PodeAlterarDataVencimento = contratoAppService.EhPermitidoAlterarvencimentoLiberacao();
            model.PodeImprimirMedicao       = contratoAppService.EhPermitidoImprimirMedicaoLiberacao();

            model.DataVencimento = DateTime.Now;

            CarregarCombos(model);

            return(View(model));
        }
Exemplo n.º 2
0
        public ActionResult Medicao(int?id)
        {
            MedicaoContratoMedicaoViewModel          model = new MedicaoContratoMedicaoViewModel();
            ICollection <ContratoRetificacaoItemDTO> ListaItensUltimoContratoRetificacao = new HashSet <ContratoRetificacaoItemDTO>();

            var contrato = contratoAppService.ObterPeloId(id, Usuario.Id) ?? new ContratoDTO();

            model.ListaServicoContratoRetificacaoItem = new SelectList(new List <ContratoRetificacaoItemDTO>(), "Id", "SequencialDescricaoItemComplemento");

            model.ContratoRetificacaoItemMedicao.ContratoId = contrato.Id.Value;
            model.Contrato = contrato;

            CarregarCombosMedicao(model);

            model.PodeSalvar   = contratoAppService.EhPermitidoSalvarMedicao();
            model.PodeDeletar  = contratoAppService.EhPermitidoDeletarMedicao();
            model.PodeImprimir = contratoAppService.EhPermitidoImprimirMedicao();

            ParametrosContratoDTO parametros = parametrosContratoAppService.Obter();

            if (parametros != null)
            {
                model.DiasMedicaoParametrosContrato   = parametros.DiasMedicao.HasValue ? parametros.DiasMedicao.Value : 0;
                model.DiasPagamentoParametrosContrato = parametros.DiasPagamento.HasValue ? parametros.DiasPagamento.Value : 0;
                model.DataLimiteMedicao = Convert.ToDateTime(DateTime.Now.AddDays((model.DiasMedicaoParametrosContrato.Value * -1)).ToShortDateString());
            }

            model.EhSituacaoAguardandoAprovacao = true;
            model.EhSituacaoAguardandoLiberacao = false;
            model.EhSituacaoLiberado            = false;

            if (id.HasValue && !contratoAppService.EhContratoExistente(contrato))
            {
                return(View(model));
            }

            if (!contratoAppService.EhContratoComCentroCustoAtivo(contrato))
            {
                return(View(model));
            }

            ContratoRetificacaoDTO contratoRetificacao = contrato.ListaContratoRetificacao.Last();

            if (!contratoRetificacaoAppService.EhRetificacaoExistente(contratoRetificacao))
            {
                return(View(model));
            }

            if (!contratoRetificacaoAppService.EhRetificacaoAprovada(contratoRetificacao))
            {
            }

            model.RetencaoContratual = 0;
            if (contratoRetificacao.RetencaoContratual.HasValue)
            {
                model.RetencaoContratual = contratoRetificacao.RetencaoContratual;
            }

            model.ContratoRetificacaoItemMedicao.ContratoRetificacaoId = contratoRetificacao.Id.Value;

            ListaItensUltimoContratoRetificacao = contratoRetificacao.ListaContratoRetificacaoItem;

            model.ListaServicoContratoRetificacaoItem = new SelectList(ListaItensUltimoContratoRetificacao, "Id", "SequencialDescricaoItemComplemento", ListaItensUltimoContratoRetificacao.Select(c => c.Id));

            return(View(model));
        }