Example #1
0
        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;
        }
Example #2
0
 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));
 }
Example #3
0
 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));
 }
Example #4
0
        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;
        }
Example #6
0
        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;
        }