public LiberacaoContratoLiberacaoViewModel() { ContratoRetificacaoItemMedicao = new ContratoRetificacaoItemMedicaoDTO(); Contrato = new ContratoDTO(); Resumo = new ResumoLiberacaoDTO(); this.DataEmissaoNovo = DateTime.Now; this.DataVencimentoNovo = DateTime.Now; }
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 })); }