Example #1
0
        public ActionResult modalClonarDespesaPagamento(int?id, int?idTituloDespesa)
        {
            var ViewModel = new TituloDespesaPagamentoClonarForm();

            ViewModel.TituloDespesaPagamento = this.OTituloDespesaPagamentoBL.carregar(UtilNumber.toInt32(id), null);

            if (ViewModel.TituloDespesaPagamento == null && idTituloDespesa.toInt() == 0)
            {
                return(Json(new { error = true, message = "Registro não localizado" }, JsonRequestBehavior.AllowGet));
            }

            if (ViewModel.TituloDespesaPagamento == null)
            {
                ViewModel.TituloDespesaPagamento = new TituloDespesaPagamento();
                ViewModel.TituloDespesaPagamento.TituloDespesa   = OTituloDespesaBL.carregar(idTituloDespesa.toInt());
                ViewModel.TituloDespesaPagamento.idTituloDespesa = idTituloDespesa.toInt();

                if (ViewModel.TituloDespesaPagamento.TituloDespesa?.listaTituloDespesaPagamento.Any(x => x.dtExclusao == null) == false)
                {
                    ViewModel.TituloDespesaPagamento.valorOriginal = ViewModel.TituloDespesaPagamento.TituloDespesa.valorTotal ?? 0;
                }
            }

            if (ViewModel.TituloDespesaPagamento.TituloDespesa == null)
            {
                return(Json(new { error = true, message = "Registro não localizado" }, JsonRequestBehavior.AllowGet));
            }

            if (ViewModel.TituloDespesaPagamento.TituloDespesa.dtExclusao.HasValue)
            {
                return(Json(new { error = true, message = "Não é possível adicionar um pagamento a uma despesa excluída" }, JsonRequestBehavior.AllowGet));
            }

            if (ViewModel.TituloDespesaPagamento.TituloDespesa.dtQuitacao.HasValue)
            {
                return(Json(new { error = true, message = "Não é possível adicionar um pagamento a uma despesa quitada" }, JsonRequestBehavior.AllowGet));
            }

            return(View(ViewModel));
        }
Example #2
0
        public ActionResult salvarTituloDespesaPagamento(TituloDespesaPagamentoClonarForm ViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View("modal-clonar-despesa-pagamento", ViewModel));
            }

            var OTituloDespesa = this.OTituloDespesaBL.carregar(ViewModel.TituloDespesaPagamento.idTituloDespesa);

            if (OTituloDespesa == null)
            {
                this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, "Não foi possível localizar o titulo despesa.");
                return(View("modal-clonar-despesa-pagamento", ViewModel));
            }

            if (OTituloDespesa.dtQuitacao.HasValue)
            {
                this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, "Não é possível adicionar uma parcela a uma despesa quitada");
                return(View("modal-clonar-despesa-pagamento", ViewModel));
            }

            ViewModel.TituloDespesaPagamento.idStatusPagamento = StatusPagamentoConst.ABERTO;
            ViewModel.TituloDespesaPagamento.dtCompetencia     = ViewModel.TituloDespesaPagamento.dtCompetencia ?? ViewModel.TituloDespesaPagamento.dtVencimento;
            ViewModel.TituloDespesaPagamento.anoCompetencia    = Convert.ToInt16(ViewModel.TituloDespesaPagamento.dtCompetencia?.Year);
            ViewModel.TituloDespesaPagamento.mesCompetencia    = Convert.ToByte(ViewModel.TituloDespesaPagamento.dtCompetencia?.Month);

            var flagSucesso = OTituloDespesaPagamentoCloneBL.salvarClone(ViewModel.TituloDespesaPagamento);

            if (flagSucesso)
            {
                this.onAtualizarValorTituloDespesa.subscribe(new OnAtualizarValorTituloDespesaHandler());
                this.onAtualizarValorTituloDespesa.publish(ViewModel.TituloDespesaPagamento.idTituloDespesa as object);
                return(Json(new { error = false }));
            }

            this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, "Não foi possível salvar o registro, tente novamente.");
            return(View("modal-clonar-despesa-pagamento", ViewModel));
        }