コード例 #1
0
        public IList <Saldo> GetSaldos(int IdCategoria, int IdProduto, int IdFilial, string Sort)
        {
            var query = Filiais
                        .SelectMany(p => Produtos, (f, p) =>
                                    new Saldo {
                Filial = f, Produto = p, Qtde = f.Movimentos.Where(m => m.IdProduto == p.Id).Any() ? f.Movimentos.Where(m => m.IdProduto == p.Id).Sum(m => m.Quantidade) : 0.0
            });

            if (IdCategoria != 0)
            {
                query = query.Where(p => p.Produto.Categoria.Id == IdCategoria);
            }

            if (IdProduto != 0)
            {
                query = query.Where(p => p.Produto.Id == IdProduto);
            }

            if (IdFilial != 0)
            {
                query = query.Where(f => f.Filial.Id == IdFilial);
            }

            if (string.IsNullOrEmpty(Sort))
            {
                query = query.OrderBy(f => f.Filial.Nome).ThenBy(p => p.Produto.Descricao);
            }
            else
            {
                query = query.OrderBy(Sort);
            }

            return(query.ToList());
        }
コード例 #2
0
ファイル: Entities.cs プロジェクト: radtek/appz
        public IList <Saldo> GetSaldos()
        {
            IList <Saldo> saldos = Filiais
                                   .SelectMany(p => Produtos, (f, p) =>
                                               new Saldo {
                Filial = f, Produto = p, Qtde = f.Movimentos.Where(m => m.IdProduto == p.Id).Any() ? f.Movimentos.Where(m => m.IdProduto == p.Id).Sum(m => m.Quantidade) : 0.0
            })
                                   .OrderBy(f => f.Filial.Nome)
                                   .OrderBy(p => p.Produto.Codigo).ToList();

            return(saldos);
        }