public void GerarContabilizacao(int id) { decimal ValorCredito = 0; decimal ValorPassagemValePedagio = 0; decimal ValorDesvio = 0; var sQuery = _context.PassagensValePedagios .GroupBy(o => new { o.Placa, o.Viagem }) .Select(g => new { g.Key.Placa, g.Key.Viagem, Soma = g.Sum(o => o.Valor) }); foreach (var resultado in sQuery) { var sQueryCredito = _context.Creditos .Where(b => b.Placa == resultado.Placa) .Where(b => b.Viagem == resultado.Viagem) .ToList(); foreach (var resultCredito in sQueryCredito) { if (ValorCredito > 0) { ValorCredito = Convert.ToDecimal(resultCredito.Valor); } else { ValorCredito = 0; } } //Realiza o calculo ValorPassagemValePedagio = Convert.ToDecimal(resultado.Soma); ValorDesvio = ValorCredito - ValorPassagemValePedagio; ContabilizaDesvio contabilizaDesvio = new ContabilizaDesvio(); contabilizaDesvio.Placa = resultado.Placa; contabilizaDesvio.Viagem = resultado.Viagem; contabilizaDesvio.ValorCredito = ValorCredito; contabilizaDesvio.ValorPassagemValePedagio = ValorPassagemValePedagio; contabilizaDesvio.Desvio = ValorDesvio; contabilizaDesvio.DataCad = DateTime.Today; contabilizaDesvio.ArquivoImportadoId = id; SalvarContabilizaDesvio(contabilizaDesvio); } }
public void SalvarContabilizaDesvio(ContabilizaDesvio contabilizaDesvio) { _context.ContabilizaDesvio.Add(contabilizaDesvio); _context.SaveChanges(); }