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): base(host, filter) { } 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(); } } }