//[ValidateAntiForgeryToken]
        public JsonResult Create(DespesaCartao despesaCartao)
        {
            try
            {
                var      diaFechamento  = despesaCartaoBusiness.DiaFechamentoCartao(despesaCartao.IDCartao);
                DateTime DataFechamento = new DateTime(DateTime.Now.Year, DateTime.Now.Month, diaFechamento);
                despesaCartao.ValorParcela = Decimal.ToDouble(despesaCartao.Valor) / despesaCartao.QtdParcela;
                despesaCartao.Pago         = false;

                DateTime DataFechamentoVirtual = new DateTime(despesaCartao.DataCompra.Year, despesaCartao.DataCompra.Month, diaFechamento);

                if (despesaCartao.DataCompra >= DataFechamentoVirtual)
                {
                    DateTime DataPrimeiraParcela = despesaCartao.DataCompra.AddMonths(1);
                    despesaCartao.DataPrimeiraParcela = new DateTime(DataPrimeiraParcela.Year, DataPrimeiraParcela.Month, diaFechamento);

                    DateTime DataUltimaParcela = despesaCartao.DataCompra.AddMonths(despesaCartao.QtdParcela);
                    despesaCartao.DataUltimaParcela = new DateTime(DataUltimaParcela.Year, DataUltimaParcela.Month, diaFechamento);
                }
                else if (despesaCartao.DataCompra < DataFechamentoVirtual)
                {
                    despesaCartao.DataPrimeiraParcela = new DateTime(despesaCartao.DataCompra.Year, despesaCartao.DataCompra.Month, diaFechamento);

                    DateTime DataUltimaParcela = despesaCartao.DataCompra.AddMonths(despesaCartao.QtdParcela - 1);
                    despesaCartao.DataUltimaParcela = new DateTime(DataUltimaParcela.Year, DataUltimaParcela.Month, diaFechamento);
                }

                int      Cont    = despesaCartao.QtdParcela;
                DateTime Parcela = despesaCartao.DataPrimeiraParcela.AddMonths(-1);
                while (Cont >= 1)
                {
                    ParcelaCartao parcelaCartao = new ParcelaCartao();
                    parcelaCartao.IDCartao    = despesaCartao.IDCartao;
                    parcelaCartao.Pago        = despesaCartao.Pago;
                    parcelaCartao.DataParcela = Parcela;
                    Cont--;
                    Parcela = Parcela.AddMonths(1);

                    if (ModelState.IsValid)
                    {
                        try
                        {
                            despesaCartaoBusiness.CriaParcelaCartao(parcelaCartao);
                        }
                        catch (Exception)
                        {
                            return(Json("naoCadastrou"));
                        }
                    }
                }

                if (ModelState.IsValid)
                {
                    despesaCartaoBusiness.Inserir(despesaCartao);
                    return(Json("cadastrou"));
                }
                else
                {
                    return(Json("naoCadastrou"));
                }
            }
            catch (Exception)
            {
                return(Json("naoCadastrou"));
            }
        }
Exemple #2
0
        public ActionResult DespCartao(int id, int?direcao, DateTime?DataInicio, DateTime?DataFim)
        {
            DespesaCartaoBusiness despesaCartaoBusiness = new DespesaCartaoBusiness();

            if (DataInicio == null && DataFim == null && direcao == null)
            {
                DateTime Diafechamento = DateTime.Parse(despesaCartaoBusiness.DiaFechamentoCartao(id) + DateTime.Now.ToString("/MM/yyyy"));
                DateTime Add_1_Mes     = Diafechamento.AddMonths(1);
                DateTime UltimoDia     = Add_1_Mes.AddDays(-1);

                var DespCartao = dashboardBusiness.ListarDespCartao(id, Diafechamento);
                ViewBag.fatura = dashboardBusiness.BuscarFatura(id, Diafechamento);

                if (dashboardBusiness.verificaFaturaPaga(id, Diafechamento))
                {
                    ViewBag.FaturaPaga = 1;
                }

                ViewBag.DataInicial = Diafechamento.ToString("yyyy-MM-dd");
                ViewBag.DataFinal   = UltimoDia.ToString("yyyy-MM-dd");
                ViewBag.IDCartao    = id;

                if (meses[Diafechamento.Month] == meses[UltimoDia.Month])
                {
                    ViewBag.mes = meses[Diafechamento.Month] + " de " + Diafechamento.Year;;
                }
                else
                {
                    ViewBag.mes = Diafechamento.Day + " de " + meses[Diafechamento.Month] + " à " + UltimoDia.Day + " de " + meses[UltimoDia.Month];
                }

                ViewBag.dia = UltimoDia.Day;

                return(View(DespCartao));
            }
            if (DataInicio != null && DataFim != null && direcao == null)
            {
                DateTime dataInicial = Convert.ToDateTime(DataInicio);
                DateTime datafinal   = Convert.ToDateTime(DataFim);

                var DespCartao = dashboardBusiness.ListarDespCartao(id, DataInicio);
                ViewBag.fatura = 0;

                if (dashboardBusiness.verificaFaturaPaga(id, dataInicial))
                {
                    ViewBag.FaturaPaga = 1;
                }

                ViewBag.DataInicial = Convert.ToDateTime(DataInicio).ToString("yyyy-MM-dd");
                ViewBag.DataFinal   = Convert.ToDateTime(DataFim).ToString("yyyy-MM-dd");
                ViewBag.IDCartao    = id;

                if (meses[dataInicial.Month] == meses[datafinal.Month])
                {
                    ViewBag.mes = dataInicial.Day + " à " + datafinal.Day + " de " + meses[dataInicial.Month];
                }
                else
                {
                    ViewBag.mes = dataInicial.Day + " de " + meses[dataInicial.Month] + " à " + datafinal.Day + " de " + meses[datafinal.Month];
                }

                return(PartialView("_ListaDespCartao", DespCartao));
            }
            if (DataInicio != null && DataFim == null && direcao != null)
            {
                if (direcao == 2)
                {
                    DateTime dataInicial        = Convert.ToDateTime(DataInicio);
                    DateTime dataInicialVirtual = new DateTime(dataInicial.Year, dataInicial.Month, despesaCartaoBusiness.DiaFechamentoCartao(id));
                    DateTime Diafechamento      = dataInicialVirtual.AddMonths(1);
                    DateTime UltimoDiaproxMes   = Diafechamento.AddMonths(1);
                    DateTime UltimoDiadoMes     = UltimoDiaproxMes.AddDays(-1);

                    var DespCartao = dashboardBusiness.ListarDespCartao(id, Diafechamento);
                    ViewBag.fatura = dashboardBusiness.BuscarFatura(id, Diafechamento);

                    if (dashboardBusiness.verificaFaturaPaga(id, Diafechamento))
                    {
                        ViewBag.FaturaPaga = 1;
                    }

                    ViewBag.DataInicial = Diafechamento.ToString("yyyy-MM-dd");
                    ViewBag.DataFinal   = UltimoDiadoMes.ToString("yyyy-MM-dd");
                    ViewBag.IDCartao    = id;
                    ViewBag.dia         = UltimoDiadoMes.Day;

                    if (meses[Diafechamento.Month] == meses[UltimoDiadoMes.Month])
                    {
                        ViewBag.mes = meses[Diafechamento.Month] + " de " + Diafechamento.Year;
                    }
                    else
                    {
                        ViewBag.mes = Diafechamento.Day + " de " + meses[Diafechamento.Month] + " à " + UltimoDiadoMes.Day + " de " + meses[UltimoDiadoMes.Month];
                    }

                    return(PartialView("_ListaDespCartao", DespCartao));
                }
                else
                {
                    DateTime dataInicial        = Convert.ToDateTime(DataInicio);
                    DateTime dataInicialVirtual = new DateTime(dataInicial.Year, dataInicial.Month, despesaCartaoBusiness.DiaFechamentoCartao(id));
                    DateTime Diafechamento      = dataInicialVirtual.AddMonths(-1);
                    DateTime UltimoDiaproxMes   = Diafechamento.AddMonths(1);
                    DateTime UltimoDiadoMes     = UltimoDiaproxMes.AddDays(-1);

                    var DespCartao = dashboardBusiness.ListarDespCartao(id, Diafechamento);
                    ViewBag.fatura = dashboardBusiness.BuscarFatura(id, Diafechamento);

                    if (dashboardBusiness.verificaFaturaPaga(id, Diafechamento))
                    {
                        ViewBag.FaturaPaga = 1;
                    }

                    ViewBag.DataInicial = Diafechamento.ToString("yyyy-MM-dd");
                    ViewBag.DataFinal   = UltimoDiadoMes.ToString("yyyy-MM-dd");
                    ViewBag.IDCartao    = id;
                    ViewBag.dia         = UltimoDiadoMes.Day;

                    if (meses[Diafechamento.Month] == meses[UltimoDiadoMes.Month])
                    {
                        ViewBag.mes = meses[Diafechamento.Month] + " de " + Diafechamento.Year;
                    }
                    else
                    {
                        ViewBag.mes = Diafechamento.Day + " de " + meses[Diafechamento.Month] + " à " + UltimoDiadoMes.Day + " de " + meses[UltimoDiadoMes.Month];
                    }

                    return(PartialView("_ListaDespCartao", DespCartao));
                }
            }
            if (DataInicio != null && DataFim == null && direcao == null)
            {
                DateTime Diafechamento = Convert.ToDateTime(DataInicio);
                DateTime Add_1_Mes     = Diafechamento.AddMonths(1);
                DateTime UltimoDia     = Add_1_Mes.AddDays(-1);

                var DespCartao = dashboardBusiness.ListarDespCartao(id, Diafechamento);
                ViewBag.fatura = dashboardBusiness.BuscarFatura(id, Diafechamento);

                if (dashboardBusiness.verificaFaturaPaga(id, Diafechamento))
                {
                    ViewBag.FaturaPaga = 1;
                }

                ViewBag.DataInicial = Diafechamento.ToString("yyyy-MM-dd");
                ViewBag.DataFinal   = UltimoDia.ToString("yyyy-MM-dd");
                ViewBag.IDCartao    = id;

                if (meses[Diafechamento.Month] == meses[UltimoDia.Month])
                {
                    ViewBag.mes = meses[Diafechamento.Month] + " de " + Diafechamento.Year;
                }
                else
                {
                    ViewBag.mes = Diafechamento.Day + " de " + meses[Diafechamento.Month] + " à " + UltimoDia.Day + " de " + meses[UltimoDia.Month];
                }

                ViewBag.dia = UltimoDia.Day;

                return(View(DespCartao));
            }

            return(PartialView());
        }