Advertisement
Guest User

Untitled

a guest
Jun 25th, 2019
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.42 KB | None | 0 0
  1. select PedidoVenda.Id, Funcionarios.Nome,
  2. FaturaContasReceber.FaturaContasReceberPId, FaturaContasReceberP.TotalFatura,
  3. (SELECT SUM(Total) FROM PedidoVendaProdutos
  4. WHERE PedidoVendaProdutos.PedidoVendaID = 1) AS toTAL
  5. from PedidoVendaProdutos
  6. inner join PedidoVenda on PedidoVenda.Id = PedidoVendaProdutos.PedidoVendaID
  7. inner join FaturaContasReceberP on FaturaContasReceberP.PedidoVendaId = PedidoVenda.Id
  8. inner join FaturaContasReceber on FaturaContasReceber.FaturaContasReceberPId = FaturaContasReceberP.Id
  9. inner join Produtos on Produtos.Id = PedidoVendaProdutos.ProdutoID
  10. inner join Funcionarios on Funcionarios.Id = PedidoVenda.VendedorID
  11. where PedidoVenda.Id = 1 and FaturaContasReceberP.Id = FaturaContasReceber.FaturaContasReceberPId
  12. group by PedidoVenda.Id, Funcionarios.Nome, FaturaContasReceber.FaturaContasReceberPId, FaturaContasReceberP.TotalFatura
  13. , PedidoVendaProdutos.PedidoVendaID
  14.  
  15. var fatura = db.PedidoVendaProdutos.Include(a => a.PedidoVenda).Include(a => a.PedidoVenda.Empresa).Include(a => a.PedidoVenda.Vendedor).Include(a => a.Produto)
  16. .Join(db.FaturaContasReceberP, p => p.PedidoVendaID, f => f.PedidoVendaId, (p, f) => new { PedidoVendaProdutos = p, FaturaContasReceberP = f })
  17. .Join(db.FaturaContasReceber, f => f.FaturaContasReceberP.Id, ft => ft.FaturaContasReceberPId, (f, ft) => new { FaturaContasReceberP = f, FaturaContasReceber = ft })
  18. .Where(a => (a.FaturaContasReceber.Data >= periodoInicial && a.FaturaContasReceber.Data <= periodoFinal)
  19. && (empresa != 0 ? a.FaturaContasReceberP.FaturaContasReceberP.PedidoVenda.EmpresaID == empresa : a.FaturaContasReceberP.FaturaContasReceberP.PedidoVenda.EmpresaID != 0)
  20. && (produto != 0 ? a.FaturaContasReceberP.PedidoVendaProdutos.ProdutoID == produto : a.FaturaContasReceberP.PedidoVendaProdutos.ProdutoID != 0)
  21. && (a.FaturaContasReceber.Cancelado == false && todos == false ? a.FaturaContasReceber.Quitado == quitado : a.FaturaContasReceber.Quitado == true || a.FaturaContasReceber.Quitado == false)
  22. && (a.FaturaContasReceber.FaturaContasReceberPId == a.FaturaContasReceberP.FaturaContasReceberP.Id)
  23. ).GroupBy(a => new
  24. {
  25. a.FaturaContasReceberP.PedidoVendaProdutos.ProdutoID,
  26. a.FaturaContasReceberP.FaturaContasReceberP.PedidoVenda.Vendedor.Nome,
  27. a.FaturaContasReceberP.FaturaContasReceberP.PedidoVendaId,
  28. a.FaturaContasReceberP.PedidoVendaProdutos.Total,
  29. a.FaturaContasReceberP.PedidoVendaProdutos.Produto.nome,
  30. a.FaturaContasReceberP.PedidoVendaProdutos.Produto.Comissao,
  31. a.FaturaContasReceber.FaturaContasReceberPId,
  32. a.FaturaContasReceberP.FaturaContasReceberP.TotalFatura,
  33.  
  34. })
  35. .Select(a => new
  36. {
  37. a.Key.PedidoVendaId,
  38. TotalPago = a.Sum(b => b.FaturaContasReceber.Total),
  39. Nome = a.Key.Nome,
  40. Total = a.Key.Total,
  41. Comissao = a.Key.Comissao,
  42. Produto = a.Key.nome,
  43. TotalFatura = a.Key.TotalFatura,//a.Sum(b => b.FaturaContasReceber.Valor),
  44. Porcentagem = (a.Key.Total * 100) / a.Key.TotalFatura,
  45. ValorRecebido = (a.Sum(b => b.FaturaContasReceber.Total) * ((a.Key.Total * 100) / a.Key.TotalFatura)) / 100
  46. })
  47. .OrderBy(a => a.PedidoVendaId)
  48. .ToList();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement