ProductIssuedAggregate.cs 924 B

1234567891011121314151617181920212223
  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 ProductIssuedAggregate : CoreAggregate<Product, StockMovement, DateTime>
  8. {
  9. public override Expression<Func<StockMovement, DateTime>> Aggregate => x => x.Date;
  10. public override Filter<StockMovement> Filter =>
  11. new Filter<StockMovement>(x => x.Issued).IsNotEqualTo(0.0F).And(x => x.IsTransfer).IsEqualTo(false);
  12. public override Dictionary<Expression<Func<StockMovement, object>>, Expression<Func<Product, object>>> Links =>
  13. new Dictionary<Expression<Func<StockMovement, object>>, Expression<Func<Product, object>>>()
  14. {
  15. { StockMovement => StockMovement.Product.ID, Product => Product.ID }
  16. };
  17. public override AggregateCalculation Calculation => AggregateCalculation.Maximum;
  18. }
  19. }