Esempio n. 1
0
        /// <summary>
        /// Loads the drop down items.
        /// </summary>
        /// <param name="picker">The picker.</param>
        /// <param name="includeEmptyOption">if set to <c>true</c> [include empty option].</param>
        internal static void LoadDropDownItems(IDefinedValuePicker picker, bool includeEmptyOption)
        {
            var selectedItems = picker.SelectedDefinedValuesId;

            picker.Items.Clear();

            if (picker.DefinedTypeId.HasValue)
            {
                if (includeEmptyOption)
                {
                    // add Empty option first
                    picker.Items.Add(new ListItem());
                }

                var dt = DefinedTypeCache.Get(picker.DefinedTypeId.Value);
                var definedValuesList = dt?.DefinedValues
                                        .Where(a => a.IsActive || picker.IncludeInactive || selectedItems.Contains(a.Id))
                                        .OrderBy(v => v.Order).ThenBy(v => v.Value).ToList();

                if (definedValuesList != null && definedValuesList.Any())
                {
                    foreach (var definedValue in definedValuesList)
                    {
                        var li = new ListItem(picker.DisplayDescriptions ? definedValue.Description : definedValue.Value, definedValue.Id.ToString());
                        li.Selected = selectedItems.Contains(definedValue.Id);
                        picker.Items.Add(li);
                    }
                }
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Loads the drop down items.
        /// </summary>
        /// <param name="picker">The picker.</param>
        /// <param name="includeEmptyOption">if set to <c>true</c> [include empty option].</param>
        internal static void LoadDropDownItems(IDefinedValuePicker picker, bool includeEmptyOption)
        {
            var selectedItems = picker.Items.Cast <ListItem>()
                                .Where(i => i.Selected)
                                .Select(i => i.Value).AsIntegerList();

            picker.Items.Clear();

            if (picker.DefinedTypeId.HasValue)
            {
                if (includeEmptyOption)
                {
                    // add Empty option first
                    picker.Items.Add(new ListItem());
                }

                var dt = DefinedTypeCache.Get(picker.DefinedTypeId.Value);
                if (dt != null && dt.DefinedValues.Any())
                {
                    foreach (var definedValue in dt.DefinedValues.OrderBy(v => v.Order).ThenBy(v => v.Value))
                    {
                        var li = new ListItem(picker.DisplayDescriptions ? definedValue.Description : definedValue.Value, definedValue.Id.ToString());
                        li.Selected = selectedItems.Contains(definedValue.Id);
                        picker.Items.Add(li);
                    }
                }
            }
        }