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()); }
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)); } }