StockMovementModel.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using InABox.Core;
  5. using System.Diagnostics.CodeAnalysis;
  6. using System.Linq;
  7. using Comal.Classes;
  8. using InABox.Mobile;
  9. using Xamarin.Forms.Xaml;
  10. namespace PRS.Mobile
  11. {
  12. public class StockMovementModel : CoreRepository<StockMovementModel, StockMovementShell, StockMovement>
  13. {
  14. public StockMovementModel(IModelHost host, Func<Filter<StockMovement>> filter): base(host, filter)
  15. {
  16. }
  17. protected override void Initialize()
  18. {
  19. base.Initialize();
  20. Groups = new StockMovementGroup[] { };
  21. }
  22. public StockMovementGroup[] Groups { get; private set; }
  23. protected override void AfterLoad(MultiQuery query)
  24. {
  25. base.AfterLoad(query);
  26. Groups = this
  27. .Select(x => new StockMovementGroup(x.UnitSize, x.StyleID, $"{x.UnitSize} ({x.StyleDescription})"))
  28. .OrderBy(x=>x.UnitSize)
  29. .ThenBy(x=>x.Description)
  30. .Distinct(new StockMovementGroupEqualityComparer())
  31. .ToArray();
  32. }
  33. }
  34. }