private void Populate(ItemModelBase model, ItemModelBase selectionModel = null, bool setParent = true) { selectedId = 0; if (setParent) { currentVariation = model.ParentId; if (selectionModel != null) { parent = selectionModel.Id; } else { parent = model.Id; iconView.IconName = "REMOVED.BMP"; } } iconView.ClearAdapter(); IconViewAdapter <ItemModelBase> adapter = new IconViewAdapter <ItemModelBase>(model, selectionModel); if (selectionModel != null) { adapter.HasSelections = true; adapter.Subselectable = true; iconView.Clickable = false; } else { iconView.Clickable = true; } iconView.Adapter = adapter; }
public static bool SetValue(ItemModelBase <TItem> model, TValue value, string propertyPath, string propertyName) { if (!ValueSetter <TValue> ._setters.TryGetValue(propertyName, out Func <ItemModelBase <TItem>, TValue, bool>?setter)) { ValueSetter <TValue> ._setters.Add(propertyName, setter = ValueSetter <TValue> .CreateSetter(propertyPath, propertyName)); } return(setter(model, value)); }
private static bool Match(this IItemFilters filters, ItemModelBase item) { return((filters.Category == default || filters.Category == item.Category) && (filters.Rarity == default || filters.Rarity == item.Rarity) && (filters.Element == default || filters.Element == item.Definition.Element) && (filters.ArmorType == default || filters.ArmorType == item.Definition.ArmorType) && (filters.ItemName.Length == 0 || item.DisplayName.IndexOf(filters.ItemName, StringComparison.InvariantCultureIgnoreCase) != -1)); }
private void IconView_ItemDoubleClicked(object sender, ItemDoubleClickedEventArgs <ItemModelBase> e) { ItemModelBase model = null; if (e.Child is VariationModel) { model = new VariationModel(e.Child.Id); } else if (e.Child is ComponentModel) { details.Reset(); return; } if (model.HasChildren && model.Children[0] is VariationModel) { details.ShowPointPrice(); details.HidePortions(); details.HideGroup(); Populate(model); title.Text = e.Child.Description; currentLocation.Text = currentLocation.Text + "/" + e.Child.Description; } else if (model.HasChildren) { details.HidePointPrice(); details.ShowPortions(); details.ShowGroup(); subViewPanel.Visibility = Visibility.Visible; Populate(new ComponentsModel(e.Child.Id, e.Child.ParentId), new ComponentsModel(e.Child.Id)); title.Text = e.Child.Description; currentLocation.Text = currentLocation.Text + "/" + e.Child.Description; } if (currentVariation != 0) { upOne.Visibility = Visibility.Visible; } details.Reset(); }
private void Populate(ItemModelBase model, ItemModelBase selectionModel = null, bool setParent = true) { selectedId = 0; if (setParent) { if (selectionModel != null) { parent = selectionModel.Id; } else { parent = model.Id; if (level == 1) { iconView.IconName = "REMOVED.BMP"; } } } iconView.ClearAdapter(); IconViewAdapter <ItemModelBase> adapter = new IconViewAdapter <ItemModelBase>(model, selectionModel); if (selectionModel != null) { adapter.HasSelections = true; adapter.Subselectable = true; iconView.Clickable = false; } else { iconView.Clickable = true; } details.DisableGroup(); details.DisablePortions(); iconView.Adapter = adapter; }
private void SelectItem(ItemModelBase child) { int parentType; selectedId = child.Id; ItemModelBase model; if (child is VariationModel) { details.Title = "Variation"; parentType = 0; model = new VariationModel(child.Id); showPoints = true; } else { details.Title = "Component"; parentType = 1; bool found = false; model = svc.GetComponentModel(parent, child.Id, out found); if (found) { details.EnablePoints(); details.EnableGroup(); details.EnablePortions(); details.Points = ((ComponentModel)model).Points; details.Portions = ((ComponentModel)model).Portions; details.Group = ((ComponentModel)model).Group; details.PointPrice = 0; showPoints = true; } else { details.DisablePoints(); details.DisableGroup(); details.Group = 0; details.DisablePortions(); details.Portions = 0; showPoints = false; } } details.ItemName = model.Description; details.DisplayName = model.DisplayName; details.Price = model.Price; if (model is VariationModel) { VariationModel thisModel = (VariationModel)model; details.Points = thisModel.Points; details.PointPrice = thisModel.PointPrice; details.EnablePoints(); details.VAT = thisModel.VATStatus; details.EnableVAT(); showPoints = true; } details.Set(child.Id, parentType, showPoints); details.ParentId = parent; }