public ActionResult GerarParcelasDuplicata()
        {
            var repoCliente        = new ClienteRepository();
            var repoCentroCusto    = new FinanceiroCentroDeCustoRepository();
            var repoPlanoPagamento = new FinanceiroPlanoDePagamentoRepository();

            ViewBag.CentroCustoId = new SelectList(
                repoCentroCusto.GetAll().OrderBy(x => x.Descricao),
                "Id",
                "Descricao"
                );

            ViewBag.FormaPagamentoId = new SelectList(
                repoPlanoPagamento.GetAll().OrderBy(x => x.Descricao),
                "Id",
                "Descricao"
                );

            ViewBag.ClienteId = new SelectList(
                repoCliente.GetAll().OrderBy(a => a.Nome),
                "ID",
                "Nome"
                );
            return(View());
        }
Exemple #2
0
        public static List <FinanceiroContasReceberParcelas> GerarDemonstrativoParcelas(FinanceiroTipoRecebimento financeiroTipoRecebimento)
        {
            var financeiroContasReceberParcelasList = new List <FinanceiroContasReceberParcelas>();

            var planoDePagamento = new FinanceiroPlanoDePagamentoRepository().GetPlanoPagamento(financeiroTipoRecebimento.FinanceiroPlanoDePagamentoId);

            for (var parcela = 1; parcela <= financeiroTipoRecebimento.QuantidadeParcelas; parcela++)
            {
                var financeiroContasReceberParcela = new FinanceiroContasReceberParcelas();
                financeiroContasReceberParcela.DataEmissao               = financeiroTipoRecebimento.DataEmissao;
                financeiroContasReceberParcela.HoraEmissao               = DateTime.Now.TimeOfDay;
                financeiroContasReceberParcela.DataVencimento            = financeiroContasReceberParcela.DataEmissao.AddDays(planoDePagamento.IntervaloDias * parcela);
                financeiroContasReceberParcela.Parcela                   = parcela;
                financeiroContasReceberParcela.ValorTotalBruto           = (financeiroTipoRecebimento.ValorTotal / financeiroTipoRecebimento.QuantidadeParcelas).Round();
                financeiroContasReceberParcela.ValorTotalLiquido         = financeiroContasReceberParcela.ValorTotalBruto;
                financeiroContasReceberParcela.NumeroDocumento           = string.Format("{0}{1}{2}-{3}", financeiroTipoRecebimento.ClienteId, planoDePagamento.Id, GetDataParaNumeroDocumento(), parcela);
                financeiroContasReceberParcela.FinanceiroTipoRecebimento = financeiroTipoRecebimento;
                financeiroContasReceberParcela.VerificarSeUtilizouPlanoAvista(planoDePagamento);
                financeiroContasReceberParcelasList.Add(financeiroContasReceberParcela);

                if (IsUltimaParcela(parcela, financeiroTipoRecebimento.QuantidadeParcelas))
                {
                    CalcularDiferenca(financeiroContasReceberParcelasList, financeiroTipoRecebimento.ValorTotal.Round());
                }
            }

            return(financeiroContasReceberParcelasList);
        }
        public ActionResult GerarParcelasDuplicata(FinanceiroTipoRecebimento financeiroTipoRecebimento)
        {
            var repoCliente             = new ClienteRepository();
            var repoPlanoPagamento      = new FinanceiroPlanoDePagamentoRepository();
            var demonstrativoParcelasVm = new FinanceiroDemonstrativoDeParcelasViewModel();

            demonstrativoParcelasVm.DemonstrativoParcelasList = ParcelasBusiness.GerarDemonstrativoParcelas(financeiroTipoRecebimento);
            demonstrativoParcelasVm.FinanceiroTipoRecebimento = financeiroTipoRecebimento;
            demonstrativoParcelasVm.NomeCliente             = repoCliente.GetNomeCliente(financeiroTipoRecebimento.ClienteId);
            demonstrativoParcelasVm.DescricaoPlanoPagamento = repoPlanoPagamento.GetDescricaoPlano(financeiroTipoRecebimento.FinanceiroPlanoDePagamentoId);
            return(View("DemonstrativoParcelas", demonstrativoParcelasVm));
        }
        public JsonResult ValidarQuantidadeMaximaParcelasPlano(string planoPagamentoId)
        {
            var repoPlanoPagamento = new FinanceiroPlanoDePagamentoRepository();

            try
            {
                var maximoParcelas = repoPlanoPagamento.GetPlanoPagamento(planoPagamentoId.ToInteger()).QuantidadeParcelas;
                return(Json(maximoParcelas, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                return(Json(ex.Message, JsonRequestBehavior.AllowGet));
            }
        }