public static DbType GetDbType(this CriteriaProperty prop) { if (prop.DbBindColumn.Column == null) { return(GetDbType(prop.PropertyType)); } return(GetDbType(prop.DbBindColumn)); }
private void newCriteriaToolStripMenuItem_Click(object sender, EventArgs e) { if (_currentCslaObject == null) { return; } string colNames = string.Empty; List <CriteriaProperty> cols = new List <CriteriaProperty>(); for (int i = 0; i < SelectedColumns.Count; i++) { IColumnInfo info = (IColumnInfo)this.dbColumns1.ListColumns.SelectedItems[i]; CriteriaProperty p = new CriteriaProperty(info.ColumnName, TypeHelper.GetTypeCodeEx(info.ManagedType), info.ColumnName); SetDbBindColumn(info, p.DbBindColumn); cols.Add(p); colNames += p.Name; } if (cols.Count == 0) { return; } string name = "Criteria" + colNames; int num = 0; while (true) { if (_currentCslaObject.CriteriaObjects.Contains(name)) { num++; name = "Criteria" + colNames + num; } else { break; } } Criteria c = new Criteria(_currentCslaObject); c.Name = name; c.Properties.AddRange(cols); c.SetSprocNames(); Design.ObjectEditorForm frm = new Design.ObjectEditorForm(); frm.ObjectToEdit = c; frm.StartPosition = FormStartPosition.CenterScreen; if (frm.ShowDialog() == DialogResult.OK) { _currentCslaObject.CriteriaObjects.Add(c); } }
public string GetColumnString(CriteriaProperty col) { if (col.DbBindColumn.Column != null) { return(GetColumnString(col.DbBindColumn)); } ValueProperty prop = Info.ValueProperties.Find(col.Name); if (prop != null) { return(GetColumnString(prop.DbBindColumn)); } throw new ApplicationException("No column information for this criteria property: " + col.Name); }
public CriteriaPropertyBag(CriteriaProperty obj) : this(new[] { obj }) { }