Exemple #1
0
 public bool ContainsListLast()
 {
     if (SelectedProperty.Type.IsGenericType && Child != null && Child.SelectedProperty != null)
     {
         return(false);
     }
     if (SelectedProperty.Type.IsGenericType && Child != null && Child.SelectedProperty == null)
     {
         return(true);
     }
     if (SelectedProperty.Type.IsGenericType && Child == null)
     {
         return(true);
     }
     if (Child != null)
     {
         return(Child.ContainsListLast());
     }
     return(false);
 }
Exemple #2
0
        public void GetComparers()
        {
            if (OrderByCriteria)
            {
                if (PropertySelect.Child != null && PropertySelect.Child.SelectedProperty != null && PropertySelect.ContainsList() && !PropertySelect.ContainsListLast())
                {
                    ComparerSelect.SelectedIndexChanged += ComparerChanged;
                    Controls.AddRange(new Control[] { ComparerSelect, ValueSelect });
                    ValueSelect.Items.Clear();
                    ValueSelect.Text = "";
                }
                else
                {
                    ComparerSelect.SelectedIndexChanged += null;
                    Controls.Remove(ComparerSelect);
                    Controls.Remove(ValueSelect);
                }
            }
            ComparerSelect.Items.Clear();
            Type propertyType = PropertySelect.GetLowestPropertyType();
            List <QueryComparer> comparers = SearchProperty.GetComparers(propertyType);

            if (OrderByCriteria && PropertySelect.Child != null && (propertyType == typeof(int) || propertyType == typeof(double) || propertyType.IsGenericType))
            {
                comparers.AddRange(new List <QueryComparer> {
                    QueryComparer.Min, QueryComparer.Max, QueryComparer.Average, QueryComparer.Sum
                });
            }

            ComparerSelect.Items.AddRange(comparers.Cast <object>().ToArray());
            //foreach (QueryComparer comparer in comparers)
            //    ComparerSelect.Items.Insert(SearchProperty.ComparerToString(comparer));
            if (comparers.Count > 0)
            {
                ComparerSelect.SelectedIndex = 0;
            }
        }