private void BuildAndSetAircraftsOnView(List<IAircraft> aircrafts, ICategoryCriteria<IAircraft> categoryCriteria) { var groupedAircrafts = from aircraft in aircrafts orderby categoryCriteria.GetFilterValue(aircraft) group aircraft by categoryCriteria.GetFilterValue(aircraft) into aircraftGroup select new {Category = aircraftGroup.Key, Products = aircraftGroup}; var result = new ObservableCollection<IIdentable>(); foreach (var g in groupedAircrafts) { var group = new DataGroup(g.Category, g.Category, g.Products.ToList()[0].ImagePath); group.Items = new ObservableCollection<IIdentable>(g.Products.ToList()); result.Add(group); } DataGroupElements = result; }
public AircraftCategory(string categoryName, ICategoryCriteria<IAircraft> aircraftCategoryCriteria) { CategoryName = categoryName; CategoryCriteria = aircraftCategoryCriteria; }