Ejemplo n.º 1
0
 public void ApplyDefaults(Vars variables)
 {
     foreach (var col in this)
     {
         if (col.IsDefault && !variables.IsSet(col.Name))
         {
             variables[col.Name] = col.AdjustType(col.Default);
         }
     }
 }
Ejemplo n.º 2
0
            public int Compare(Vars x, Vars y)
            {
                foreach (var info in this)
                {
                    if (info.Sort == ColumnSortDirection.None)
                    {
                        continue;
                    }
                    bool o1 = x.IsSet(info.Name);
                    bool o2 = y.IsSet(info.Name);

                    int r;
                    if (o1 == false && o2 == false)
                    {
                        r = 0;
                    }
                    else if (o1 == true && o2 == false)
                    {
                        r = 1;
                    }
                    else if (o1 == false && o2 == true)
                    {
                        r = -1;
                    }
                    else
                    {
                        object ob1 = x.Get(info.Name);
                        object ob2 = y.Get(info.Name);

                        if (info.Comparer != null)
                        {
                            r = info.Comparer.Compare(ob1, ob2);
                        }
                        else
                        {
                            r = Comparer.Default.Compare(ob1, ob2);
                        }
                    }
                    if (info.Sort == ColumnSortDirection.Descending)
                    {
                        r = -r;
                    }
                    if (r != 0)
                    {
                        return(r);
                    }
                }
                return(0);
            }