using System; using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using InABox.Core; using System.Diagnostics.CodeAnalysis; using System.Linq; using Comal.Classes; using InABox.Mobile; using Xamarin.CommunityToolkit.ObjectModel; using Xamarin.Forms.Xaml; namespace PRS.Mobile { public class StockMovementModel : CoreRepository { public StockMovementModel(IModelHost host, Func>? filter = null, Func? cachefilename = null) : base(host, filter, cachefilename) { } protected override void Initialize() { base.Initialize(); Groups = new StockMovementGroup[] { }; } public StockMovementGroup[] Groups { get; private set; } protected override void AfterLoad(MultiQuery query) { base.AfterLoad(query); Groups = this .Select(x => new StockMovementGroup(x.DimensionsUnitSize, x.StyleID, $"{x.DimensionsUnitSize} ({x.StyleDescription})")) .OrderBy(x=>x.UnitSize) .ThenBy(x=>x.Description) .Distinct(new StockMovementGroupEqualityComparer()) .ToArray(); } } }