FreeStockAggregate.cs 852 B

12345678910111213141516171819202122
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq.Expressions;
  4. using InABox.Core;
  5. namespace Comal.Classes
  6. {
  7. public class FreeStockAggregate : CoreAggregate<Product, StockMovement, double>
  8. {
  9. public override Expression<Func<StockMovement, double>> Aggregate => x => x.Qty;
  10. public override Filter<StockMovement> Filter => new Filter<StockMovement>(x => x.Job).NotLinkValid();
  11. public override Dictionary<Expression<Func<StockMovement, object>>, Expression<Func<Product, object>>> Links =>
  12. new Dictionary<Expression<Func<StockMovement, object>>, Expression<Func<Product, object>>>()
  13. {
  14. { StockMovement => StockMovement.Product.ID, Product => Product.ID }
  15. };
  16. public override AggregateCalculation Calculation => AggregateCalculation.Sum;
  17. }
  18. }