/// <inheritdoc />
 public SelectTagPickerViewModel(IEnumerable <Tag> tags)
     : base("Tags")
 {
     AddItem1Values(
         tags
         .Select(v => DialogPickerOption.Create(v))
         .Prepend(DialogPickerOption.Empty <Tag>()));
 }
        protected override string FormatItem1(DialogPickerOption <Tag> item)
        {
            if (item.IsEmpty)
            {
                return("Not selected");
            }

            return(item.Item.Name);
        }
        /// <inheritdoc />
        public AddProductMeasurePickerViewModel()
            : base("Add")
        {
            AddItem1Values(
                Enumerable
                .Range(1, 1000)
                .Select(v => DialogPickerOption.Create(v * 10)));

            AddItem2Values(DialogPickerOption.Create(ProductMeasureUnitConstants.DefaultUnitName));

            AddItem3Values(
                Enumerable
                .Range(1, 1000)
                .Select(v => DialogPickerOption.Create(v / 10.0f)));
        }
        /// <inheritdoc />
        public SelectProductMeasureUnitPickerViewModel(List <ProductMeasureUnit> units)
            : base("Add")
        {
            this.WhenAnyValue(v => v.SelectedItem2)
            .Where(v => v.Item != null)
            .Select(v => v.Item)
            .Subscribe(
                v =>
            {
                ClearItem1Values();

                if (v.IsGrams)
                {
                    AddItem1Values(GramAmounts);
                }
                else
                {
                    AddItem1Values(Amounts);
                }
            });

            AddItem2Values(units.Select(v => DialogPickerOption.Create(v)));
        }
 protected override string FormatItem2(DialogPickerOption <ProductMeasureUnit> item)
 {
     return(item.Item.Name);
 }