Exemplo n.º 1
0
        public LiberacaoContratoLiberacaoViewModel()
        {
            ContratoRetificacaoItemMedicao = new ContratoRetificacaoItemMedicaoDTO();
            Contrato = new ContratoDTO();
            Resumo   = new ResumoLiberacaoDTO();

            this.DataEmissaoNovo    = DateTime.Now;
            this.DataVencimentoNovo = DateTime.Now;
        }
Exemplo n.º 2
0
        public ActionResult RecuperaContratoRetificacaoItem(int?contratoId, int?contratoRetificacaoId, int?contratoRetificacaoItemId)
        {
            ResumoLiberacaoDTO      resumo             = new ResumoLiberacaoDTO();
            List <ItemLiberacaoDTO> listaItemLiberacao = new List <ItemLiberacaoDTO>();

            if (contratoId.HasValue && contratoRetificacaoItemId.HasValue)
            {
                ContratoDTO contrato = contratoAppService.ObterPeloId(contratoId, Usuario.Id) ?? new ContratoDTO();

                if (contratoId.HasValue && !contratoAppService.EhContratoExistente(contrato))
                {
                    var msg = messageQueue.GetAll()[0].Text;
                    messageQueue.Clear();

                    return(Json(new
                    {
                        ehRecuperou = false,
                        errorMessage = msg,
                        resumo = resumo,
                        listaItemLiberacao = listaItemLiberacao,
                        podeConcluirContrato = false,
                        redirectToUrl = string.Empty
                    }));
                }

                if (!contratoAppService.EhContratoComCentroCustoAtivo(contrato))
                {
                    var msg = messageQueue.GetAll()[0].Text;
                    messageQueue.Clear();

                    return(Json(new
                    {
                        ehRecuperou = false,
                        errorMessage = msg,
                        resumo = resumo,
                        listaItemLiberacao = listaItemLiberacao,
                        podeConcluirContrato = false,
                        redirectToUrl = string.Empty
                    }));
                }

                if (!contratoAppService.EhUltimoContratoRetificacao(contrato.Id, contratoRetificacaoId))
                {
                    return(Json(new
                    {
                        ehRecuperou = false,
                        errorMessage = string.Empty,
                        resumo = resumo,
                        listaItemLiberacao = listaItemLiberacao,
                        podeConcluirContrato = false,
                        redirectToUrl = Url.Action("Liberacao", "LiberacaoContrato", new { area = "Contrato", id = contrato.Id })
                    }));
                }

                ContratoRetificacaoItemDTO contratoRetificacaoItem = new ContratoRetificacaoItemDTO();
                if (contratoRetificacaoItemId.HasValue)
                {
                    if (contratoRetificacaoItemId > 0)
                    {
                        contratoRetificacaoItem = contrato.ListaContratoRetificacaoItem.Where(l => l.Id == contratoRetificacaoItemId).FirstOrDefault() ?? new ContratoRetificacaoItemDTO();
                    }
                    contratoAppService.RecuperarMedicoesALiberar(contrato, contratoRetificacaoItem, resumo, out listaItemLiberacao);
                    bool podeConcluirContrato = contratoAppService.PodeConcluirContrato(contrato);
                    return(Json(new
                    {
                        ehRecuperou = true,
                        errorMessage = string.Empty,
                        resumo = resumo,
                        listaItemLiberacao = JsonConvert.SerializeObject(listaItemLiberacao, Formatting.Indented, new JsonSerializerSettings {
                            ReferenceLoopHandling = ReferenceLoopHandling.Ignore
                        }),
                        podeConcluirContrato = podeConcluirContrato,
                        redirectToUrl = string.Empty
                    }));
                }
            }

            return(Json(new
            {
                ehRecuperou = false,
                errorMessage = string.Empty,
                resumo = resumo,
                listaItemLiberacao = listaItemLiberacao,
                podeConcluirContrato = false,
                redirectToUrl = string.Empty
            }));
        }