public static void GerarMovimentacaoManual(FinanceiroMovimentacoes movimentacao) { using (var ctx = new BancoContexto()) { var tipoMovimento = movimentacao.TipoMovimentacao == TipoMovimentacao.Credito ? "Crédito" : "Débito"; var valor = movimentacao.TipoMovimentacao == TipoMovimentacao.Credito ? movimentacao.Credito : movimentacao.Debito; var operacao = new Operacao(); operacao.Data = DateTime.Now; ctx.Operacoes.Add(operacao); var observacao = string.Format("{0} lançado manualmente. |Data geração: {1} |Observações: {2}", tipoMovimento, DateTime.Now.ToString("G", new CultureInfo("pt-BR")), movimentacao.Observacao); GerarMovimentacao(ctx, operacao, movimentacao.TipoMovimentacao, movimentacao.OrigemMovimentacao, movimentacao.FinanceiroCentroDeCustoId, valor, observacao); ctx.SaveChanges(); } }
private static void GerarMovimentacao(BancoContexto ctx, Operacao operacao, TipoMovimentacao tipoMovimentacao, OrigemMovimentacao origem, double financeiroCentroDeCustoId, decimal valor, string observacao) { var movimentacaoFinanceira = new FinanceiroMovimentacoes(); movimentacaoFinanceira.TipoMovimentacao = tipoMovimentacao; movimentacaoFinanceira.FinanceiroCentroDeCusto = ctx.FinanceiroCentroDeCustos.Find(financeiroCentroDeCustoId); movimentacaoFinanceira.Operacao = operacao; movimentacaoFinanceira.DataHora = DateTime.Now; movimentacaoFinanceira.Observacao = observacao; movimentacaoFinanceira.OrigemMovimentacao = origem; if (tipoMovimentacao == TipoMovimentacao.Credito) { movimentacaoFinanceira.Credito = valor; } else { movimentacaoFinanceira.Debito = valor; } ctx.FinanceiroMovimentacoes.Add(movimentacaoFinanceira); }