/// <summary>
        /// Loads the items.
        /// </summary>
        /// <param name="selectedValue">The selected value.</param>
        private void LoadItems(int?selectedValue)
        {
            string firstItemText = Items.Count > 0 && Items[0].Value == string.Empty ? Items[0].Text : string.Empty;

            var selectedItems = Items.Cast <ListItem>()
                                .Where(i => i.Selected)
                                .Select(i => i.Value).AsIntegerList();

            Items.Clear();

            // add Empty option first
            Items.Add(new ListItem(firstItemText, string.Empty));

            var campuses = CampusCache.All()
                           .Where(c =>
                                  (CampusIds.Contains(c.Id) && (!c.IsActive.HasValue || c.IsActive.Value || IncludeInactive)) ||
                                  (selectedValue.HasValue && c.Id == selectedValue.Value))
                           .OrderBy(c => c.Order)
                           .ToList();

            foreach (CampusCache campus in campuses)
            {
                var li = new ListItem(campus.Name, campus.Id.ToString());
                li.Selected = selectedItems.Contains(campus.Id);
                Items.Add(li);
            }
        }
Example #2
0
        /// <summary>
        /// Loads the items.
        /// </summary>
        /// <param name="selectedValue">The selected value.</param>
        private void LoadItems(int?selectedValue)
        {
            // Get all the campi
            var campuses = CampusCache.All()
                           .Where(c =>
                                  (CampusIds.Contains(c.Id) && (!c.IsActive.HasValue || c.IsActive.Value || IncludeInactive)) ||
                                  (selectedValue.HasValue && c.Id == selectedValue.Value))
                           .OrderBy(c => c.Order)
                           .ToList();

            // Get the current text for the first item if its value is empty
            string firstItemText = Items.Count > 0 && Items[0].Value == string.Empty ? Items[0].Text : string.Empty;

            List <int> selectedItems = new List <int>();

            // If there is one campus then only show if ForceVisible is true.
            if (campuses.Count == 0)
            {
                this.Visible = false;
            }
            else if (campuses.Count == 1)
            {
                this.Visible = ForceVisible;

                // if this is required then auto-select the only campus
                if (this.Required)
                {
                    selectedItems.Add(campuses[0].Id);
                }
            }
            else
            {
                /*
                 * 2020-04-09 ETD
                 * Don't set the Visible property here. If a block setting or somthing else is hiding the control this will show it.
                 * Removed this to fix issue #4172.
                 * this.Visible = true;
                 */

                selectedItems = Items.Cast <ListItem>()
                                .Where(i => i.Selected)
                                .Select(i => i.Value).AsIntegerList();
            }

            Items.Clear();

            // Add a blank first item.
            Items.Add(new ListItem(firstItemText, string.Empty));

            foreach (CampusCache campus in campuses)
            {
                var li = new ListItem(campus.Name, campus.Id.ToString());
                li.Selected = selectedItems.Contains(campus.Id);
                Items.Add(li);
            }
        }
Example #3
0
        public void removeCampus(int id)
        {
            /*Beter uitwerken*/
            Campus d = PrefCampus.Where(campus => campus.CampusId == id).FirstOrDefault();

            if (d != null)
            {
                CampusIds.Remove(d.CampusId);
            }
            PrefCampus.Remove(d);
        }
Example #4
0
        /// <summary>
        /// Loads the items.
        /// </summary>
        /// <param name="selectedValues">The selected values.</param>
        private void LoadItems(List <int> selectedValues)
        {
            var selectedItems = Items.Cast <ListItem>()
                                .Where(i => i.Selected)
                                .Select(i => i.Value).AsIntegerList();

            Items.Clear();

            var campuses = CampusCache.All()
                           .Where(c =>
                                  (CampusIds.Contains(c.Id) && (!c.IsActive.HasValue || c.IsActive.Value || IncludeInactive)) ||
                                  (selectedValues != null && selectedValues.Contains(c.Id)))
                           .OrderBy(c => c.Name)
                           .ToList();

            foreach (CampusCache campus in campuses)
            {
                var li = new ListItem(campus.Name, campus.Id.ToString());
                li.Selected = selectedItems.Contains(campus.Id);
                Items.Add(li);
            }
        }
Example #5
0
 public void addCampus(Campus c)
 {
     CampusIds.Add(c.CampusId);
     PrefCampus.Add(c);
 }