public static void SalvarParcelasGeradas(BancoContexto ctx, Operacao operacao, List <FinanceiroContasReceberParcelas> financeiroContasReceberParcelasList, FinanceiroTipoRecebimento financeiroTipoRecebimento) { foreach (var parcela in financeiroContasReceberParcelasList) { ctx.FinanceiroContasReceberParcelas.Add(parcela); if (parcela.SituacaoParcelaFinanceira == SituacaoParcelaFinanceira.Liquidado) { var nomeCliente = ClienteBusiness.GetNomeCliente(ctx, financeiroTipoRecebimento.ClienteId); MovimentacaoBusiness.GerarMovimentacaoCreditoOriundasDeContasReceber(ctx, operacao, OrigemMovimentacao.ContasReceber, parcela.ValorTotalLiquido, parcela.Parcela, parcela.FinanceiroTipoRecebimento.QuantidadeParcelas, financeiroTipoRecebimento.FinanceiroCentroDeCustoId, nomeCliente, financeiroTipoRecebimento.Observacao); } } }
public static void CancelarBaixa(int parcelaId) { using (var ctx = new BancoContexto()) { var parcela = ctx.FinanceiroContasReceberParcelas.Find(parcelaId); parcela.ValorLiquidado = null; parcela.DataRecebimento = null; parcela.SituacaoParcelaFinanceira = SituacaoParcelaFinanceira.Aberto; parcela.HoraRecebimento = null; parcela.Observacoes = null; ctx.Entry(parcela).State = EntityState.Modified; var tipoRecebimento = ctx.FinanceiroTipoRecebimentos.Where(x => x.Id == parcela.FinanceiroTipoRecebimentoId).Select(p => new { p.Id, p.Operacao, p.FinanceiroCentroDeCustoId, p.Cliente.Nome, p.QuantidadeParcelas }).First(); MovimentacaoBusiness.GerarMovimentacaoDebitoOriundasDeContasReceber(ctx, tipoRecebimento.Operacao, OrigemMovimentacao.ContasReceber, parcela.ValorTotalLiquido, parcela.Parcela, tipoRecebimento.QuantidadeParcelas, tipoRecebimento.FinanceiroCentroDeCustoId, tipoRecebimento.Nome, false); ctx.SaveChanges(); } }
public ActionResult GerarMovimentacaomanual(FinanceiroMovimentacaoViewModel financeiroMovimentacaoViewModel) { var movimentacao = new Domain.Entidades.Operacao.Financeiro.FinanceiroMovimentacoes(); movimentacao.OrigemMovimentacao = OrigemMovimentacao.Manual; movimentacao.Observacao = financeiroMovimentacaoViewModel.Observacao; movimentacao.DataHora = financeiroMovimentacaoViewModel.DataLancamento; movimentacao.FinanceiroCentroDeCustoId = financeiroMovimentacaoViewModel.FinanceiroCentroDeCustoId; if (financeiroMovimentacaoViewModel.TipoMovimentacao == TipoMovimentacao.Credito) { movimentacao.Credito = financeiroMovimentacaoViewModel.Valor; movimentacao.TipoMovimentacao = TipoMovimentacao.Credito; } else { movimentacao.Debito = financeiroMovimentacaoViewModel.Valor; movimentacao.TipoMovimentacao = TipoMovimentacao.Debito; } MovimentacaoBusiness.GerarMovimentacaoManual(movimentacao); return(RedirectToAction("Index")); }