Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- select PedidoVenda.Id, Funcionarios.Nome,
- FaturaContasReceber.FaturaContasReceberPId, FaturaContasReceberP.TotalFatura,
- (SELECT SUM(Total) FROM PedidoVendaProdutos
- WHERE PedidoVendaProdutos.PedidoVendaID = 1) AS toTAL
- from PedidoVendaProdutos
- inner join PedidoVenda on PedidoVenda.Id = PedidoVendaProdutos.PedidoVendaID
- inner join FaturaContasReceberP on FaturaContasReceberP.PedidoVendaId = PedidoVenda.Id
- inner join FaturaContasReceber on FaturaContasReceber.FaturaContasReceberPId = FaturaContasReceberP.Id
- inner join Produtos on Produtos.Id = PedidoVendaProdutos.ProdutoID
- inner join Funcionarios on Funcionarios.Id = PedidoVenda.VendedorID
- where PedidoVenda.Id = 1 and FaturaContasReceberP.Id = FaturaContasReceber.FaturaContasReceberPId
- group by PedidoVenda.Id, Funcionarios.Nome, FaturaContasReceber.FaturaContasReceberPId, FaturaContasReceberP.TotalFatura
- , PedidoVendaProdutos.PedidoVendaID
- var fatura = db.PedidoVendaProdutos.Include(a => a.PedidoVenda).Include(a => a.PedidoVenda.Empresa).Include(a => a.PedidoVenda.Vendedor).Include(a => a.Produto)
- .Join(db.FaturaContasReceberP, p => p.PedidoVendaID, f => f.PedidoVendaId, (p, f) => new { PedidoVendaProdutos = p, FaturaContasReceberP = f })
- .Join(db.FaturaContasReceber, f => f.FaturaContasReceberP.Id, ft => ft.FaturaContasReceberPId, (f, ft) => new { FaturaContasReceberP = f, FaturaContasReceber = ft })
- .Where(a => (a.FaturaContasReceber.Data >= periodoInicial && a.FaturaContasReceber.Data <= periodoFinal)
- && (empresa != 0 ? a.FaturaContasReceberP.FaturaContasReceberP.PedidoVenda.EmpresaID == empresa : a.FaturaContasReceberP.FaturaContasReceberP.PedidoVenda.EmpresaID != 0)
- && (produto != 0 ? a.FaturaContasReceberP.PedidoVendaProdutos.ProdutoID == produto : a.FaturaContasReceberP.PedidoVendaProdutos.ProdutoID != 0)
- && (a.FaturaContasReceber.Cancelado == false && todos == false ? a.FaturaContasReceber.Quitado == quitado : a.FaturaContasReceber.Quitado == true || a.FaturaContasReceber.Quitado == false)
- && (a.FaturaContasReceber.FaturaContasReceberPId == a.FaturaContasReceberP.FaturaContasReceberP.Id)
- ).GroupBy(a => new
- {
- a.FaturaContasReceberP.PedidoVendaProdutos.ProdutoID,
- a.FaturaContasReceberP.FaturaContasReceberP.PedidoVenda.Vendedor.Nome,
- a.FaturaContasReceberP.FaturaContasReceberP.PedidoVendaId,
- a.FaturaContasReceberP.PedidoVendaProdutos.Total,
- a.FaturaContasReceberP.PedidoVendaProdutos.Produto.nome,
- a.FaturaContasReceberP.PedidoVendaProdutos.Produto.Comissao,
- a.FaturaContasReceber.FaturaContasReceberPId,
- a.FaturaContasReceberP.FaturaContasReceberP.TotalFatura,
- })
- .Select(a => new
- {
- a.Key.PedidoVendaId,
- TotalPago = a.Sum(b => b.FaturaContasReceber.Total),
- Nome = a.Key.Nome,
- Total = a.Key.Total,
- Comissao = a.Key.Comissao,
- Produto = a.Key.nome,
- TotalFatura = a.Key.TotalFatura,//a.Sum(b => b.FaturaContasReceber.Valor),
- Porcentagem = (a.Key.Total * 100) / a.Key.TotalFatura,
- ValorRecebido = (a.Sum(b => b.FaturaContasReceber.Total) * ((a.Key.Total * 100) / a.Key.TotalFatura)) / 100
- })
- .OrderBy(a => a.PedidoVendaId)
- .ToList();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement