Exemplo n.º 1
0
        private void CarregarCombos(LiberacaoContratoLiberacaoViewModel model)
        {
            int?tipoDocumentoId = null;

            tipoDocumentoId = model.TipoDocumentoNovoId;

            model.ListaTipoDocumentoNovo = new SelectList(tipoDocumentoAppService.ListarTodos(), "Id", "Sigla", tipoDocumentoId);
        }
Exemplo n.º 2
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));
        }