public void ApplyDefaults(Vars variables) { foreach (var col in this) { if (col.IsDefault && !variables.IsSet(col.Name)) { variables[col.Name] = col.AdjustType(col.Default); } } }
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); }