public PageManager(DataTable table, DataRule dr) { mDataTable = table; mDataRule = dr; this.SetPageInfo(TableUtil.GetPageInfo(table)); }
public RuleException(DataRule dr, string message) : base(message) { Code += "50"; mDataRule = dr; }
public static void InitDataGridViewColumns(DataGridView grid, DataRule dr) { if (grid == null || dr == null) { return; } grid.VirtualMode = true; DataTable table = dr.GetFieldRule(); if (table != null) { DataGridViewColumn gcolumn; DataRowCollection rows = table.Rows; if (grid.Columns.Count > 0) { grid.Columns.Clear(); } foreach (DataRow row in rows) { gcolumn = CreateDataGridViewColumn(RuleColumn.FromDataRow(row)); if (gcolumn != null) { grid.Columns.Add(gcolumn); } } grid.EditingControlShowing -= new DataGridViewEditingControlShowingEventHandler(DataGridViewEditingControlShowing); grid.EditingControlShowing += new DataGridViewEditingControlShowingEventHandler(DataGridViewEditingControlShowing); } }
public RuleException(DataRule dr, string message, Exception innerException) : base(message, innerException) { Code += "50"; mDataRule = dr; }
public static DataRule LoadDataInfo(DataTable table, String rulename, String paramvalue, String pageinfo, String defwhere, String dsname) { try { InParams inparams = SDPClient.NewInParams(); OutParams outparams = SDPClient.NewOutParams(); inparams.SetRequestBody("ServiceName", "DataServices"); inparams.SetRequestBody("ServiceItem", "LoadDataInfo"); inparams.SetRequestBody("RuleName", rulename); inparams.SetRequestBody("DefWhere", defwhere); inparams.SetRequestBody("PageInfo", pageinfo); inparams.SetRequestBody("DataSource", dsname); inparams.SetRequestParams(paramvalue); SDPClient.CallService(inparams, outparams); DataRule rule = new DataRule(rulename, outparams); SystemContext.RuleManager.AppendDataRule(rule); DataTable resulttable = outparams.GetTableParam(rulename).GetDataTableValue(); DataUtil.InitTableSchemaFromDataRule(table, rule); DataUtil.CopyTable(resulttable, table); return(rule); } catch (Exception e) { System.Console.Out.WriteLine("DataServices.LoadDataInfo Exception: {0}", e); throw e; } }
public PageManager(DataTable table) { mDataTable = table; mDataRule = TableUtil.GetDataRule(mDataTable); this.SetPageInfo(TableUtil.GetPageInfo(table)); }
public RuleColumnException(DataRule dr, DataRow row, RuleColumn rc, string message, Exception innerException) : base(dr, message, innerException) { Code += "10"; mDataRow = row; mRuleColumn = rc; }
public LinkedTypeUnitTestsDataRuleRegistrar(Lifetime lifetime, DataContexts dataContexts) { var dataRule = new DataRule <UnitTestElements> .DesperateDataRule( "ProjectModelToUnitTestElements", UnitTestDataConstants.UnitTestElements.SELECTED, LinkedTypeUnitTestsDataRule); dataContexts.RegisterDataRule(lifetime, dataRule); }
public void NotADataRow() { Order order = ExampleUsage.GetOrder(); Rule rule = DataRule.Create <int>("Customer", mreOperator.Equal, "123"); MRE engine = new MRE(); var c1_123 = engine.CompileRule <Order>(rule); bool passes = c1_123(order); Assert.IsTrue(false); // should not get here. }
public void RemoveTable(DataTable table) { if (table != null && mDataTableList.Contains(table)) { mDataTableList.Remove(table); DataRule dr = TableUtil.GetDataRule(table); if (dr != null) { dr.OnRuleExceptionEvent -= new RuleExceptionEventHandle(SendRuleExceptionEvent); } } }
public void AddTable(DataTable table) { if (table != null && !mDataTableList.Contains(table)) { TableUtil.SetProperty(table, AUTOCOMMIT, "1"); mDataTableList.AddLast(table); DataRule dr = TableUtil.GetDataRule(table); if (dr != null) { dr.OnRuleExceptionEvent -= new RuleExceptionEventHandle(SendRuleExceptionEvent); dr.OnRuleExceptionEvent += new RuleExceptionEventHandle(SendRuleExceptionEvent); } } }
public void DataRowTest() { var dr = GetDataRow(); Rule rule = DataRule.Create <int>("Column2", mreOperator.Equal, "123") & DataRule.Create <string>("Column1", mreOperator.Equal, "Test"); MRE engine = new MRE(); var c1_123 = engine.CompileRule <DataRow>(rule); bool passes = c1_123(dr); Assert.IsTrue(passes); dr["Column2"] = 456; dr["Column1"] = "Hello"; passes = c1_123(dr); Assert.IsFalse(passes); }
public void DataRowTest_RuntimeType() { var dt = CreateEmptyDataTable(); Rule rule = DataRule.Create("Column2", MreOperator.Equal, 123, dt.Columns["Column2"].DataType); Mre engine = new Mre(); var c1123 = engine.CompileRule <DataRow>(rule); var dr = GetDataRow(dt); bool passes = c1123(dr); Assert.IsTrue(passes); dr["Column2"] = 456; dr["Column1"] = "Hello"; passes = c1123(dr); Assert.IsFalse(passes); }
public void DataRowTest_DBNull() { Rule rule = DataRule.Create <int?>("Column2", MreOperator.Equal, (int?)null) & DataRule.Create <string>("Column1", MreOperator.Equal, null); Mre engine = new Mre(); var c1123 = engine.CompileRule <DataRow>(rule); var dt = CreateEmptyDataTable(); var dr = GetDataRowDbNull(dt); bool passes = c1123(dr); Assert.IsTrue(passes); dr["Column2"] = 456; dr["Column1"] = "Hello"; passes = c1123(dr); Assert.IsFalse(passes); }
public void DataRowTest_OldSytntax() { var dr = GetDataRow(); Rule rule = new DataRule { Type = "System.Int32", TargetValue = "123", Operator = "Equal", MemberName = "Column2" }; Mre engine = new Mre(); var c1123 = engine.CompileRule <DataRow>(rule); bool passes = c1123(dr); Assert.IsTrue(passes); dr["Column2"] = 456; dr["Column1"] = "Hello"; passes = c1123(dr); Assert.IsFalse(passes); }
public static void InitDataGridViewColumns(DataGridView grid, DataTable table) { if (grid == null || table == null) { return; } //if (grid.Columns.Count > 0) // grid.Columns.Clear(); if (grid.Columns.Count == 0) { grid.EditingControlShowing -= new DataGridViewEditingControlShowingEventHandler(DataGridViewEditingControlShowing); grid.EditingControlShowing += new DataGridViewEditingControlShowingEventHandler(DataGridViewEditingControlShowing); DataRule dr = TableUtil.GetDataRule(table); if (dr != null) { DataColumnCollection columns = table.Columns; if (columns.Count > 0) { DataGridViewColumn gcolumn; RuleColumn rcolumn; foreach (DataColumn column in columns) { rcolumn = TableUtil.GetRuleColumn(column); if (rcolumn != null) { gcolumn = CreateDataGridViewColumn(rcolumn); grid.Columns.Add(gcolumn); } else { InitDataGridViewColumns(grid, dr); break; } } } else { InitDataGridViewColumns(grid, dr); } } else if (table.Columns.Count > 0) { DataGridViewColumn gcolumn; foreach (DataColumn column in table.Columns) { if (TableUtil.StrProperty(column, "Visible").Equals("0")) { continue; } gcolumn = null; string datatype = column.DataType.ToString(); if (datatype.Equals("System.Boolean")) { gcolumn = new DataGridViewCheckBoxColumn(); gcolumn.Width = column.MaxLength > 50 ? column.MaxLength : 50; gcolumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.None; } else if (datatype.Equals("System.DateTime")) { gcolumn = new CalendarColumn("yyyy-MM-dd HH:mm:ss"); gcolumn.Width = 130; gcolumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.None; } else { string mapInfo = TableUtil.StrProperty(column, "MapInfo"); if (!mapInfo.Equals("")) { DataMap dm = SystemContext.MapManager.FromMapInfo(mapInfo); if (dm != null) { DataTable mtable = dm.GetMapTable(null); if (mtable != null && mtable.Rows.Count > 0) { gcolumn = new DataGridViewComboBoxColumn(); DataGridViewComboBoxCell combboxcell = gcolumn.CellTemplate as DataGridViewComboBoxCell; if (combboxcell != null) { combboxcell.DataSource = mtable; combboxcell.ValueMember = "Key"; combboxcell.DisplayMember = "Value"; } } } } if (gcolumn == null) { gcolumn = new DataGridViewTextBoxColumn(); gcolumn.Width = column.MaxLength > 100 ? column.MaxLength : 100; gcolumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.None; } } gcolumn.Name = column.ColumnName; gcolumn.HeaderText = column.Caption; gcolumn.DataPropertyName = column.ColumnName; //gcolumn.Width = column.MaxLength; //gcolumn.Width = column.MaxLength > 100 ? column.MaxLength : 100; //gcolumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader; grid.Columns.Add(gcolumn); } } grid.AutoGenerateColumns = false; grid.DataSource = GetBindingSource(table); } else { DataColumn column; string mapInfo; foreach (DataGridViewColumn gcolumn in grid.Columns) { column = table.Columns[gcolumn.DataPropertyName]; if (column != null) { mapInfo = TableUtil.StrProperty(column, "MapInfo"); if (!mapInfo.Equals("")) { DataMap dm = SystemContext.MapManager.FromMapInfo(mapInfo); if (dm != null) { DataTable mtable = dm.GetMapTable(null); if (mtable != null && mtable.Rows.Count > 0) { DataGridViewComboBoxCell combboxcell = gcolumn.CellTemplate as DataGridViewComboBoxCell; if (combboxcell != null) { combboxcell.DataSource = mtable; combboxcell.ValueMember = "Key"; combboxcell.DisplayMember = "Value"; } } } } } } grid.AutoGenerateColumns = false; grid.DataSource = GetBindingSource(table); } grid.CellLeave -= new DataGridViewCellEventHandler(DataGridView_CellLeave); grid.CellLeave += new DataGridViewCellEventHandler(DataGridView_CellLeave); }
public static bool InitTableSchemaFromDataRule(DataTable table, DataRule dr, string alias) { if (table == null || dr == null) { return(false); } try { DataTable ruletable = dr.GetFieldRule(); if (ruletable == null) { return(false); } DataRule olddr = TableUtil.GetDataRule(table); if (olddr != null) { table.TableNewRow -= new DataTableNewRowEventHandler(olddr.OnTableNewRow); table.ColumnChanged -= new DataColumnChangeEventHandler(olddr.OnColumnChanged); } table.TableNewRow += new DataTableNewRowEventHandler(dr.OnTableNewRow); table.ColumnChanged += new DataColumnChangeEventHandler(dr.OnColumnChanged); table.TableName = dr.RuleName; TableUtil.SetProperty(table, SysConstant.scDataRule, dr); TableUtil.SetProperty(table, SysConstant.scBindAlias, alias); TableUtil.SetProperty(table, SysConstant.scPageManager, new PageManager(table)); DataColumnCollection columns = table.Columns; DataColumn column; RuleColumn rulecolumn; DataRowCollection rows = ruletable.Rows; if (columns.Count > 0) { if (table.Rows.Count > 0) { table.Rows.Clear(); } columns.Clear(); } for (int i = 0; i < rows.Count; i++) { rulecolumn = RuleColumn.FromDataRow(rows[i]); column = new DataColumn(rulecolumn.ColumnName); TableUtil.SetProperty(column, SysConstant.scRuleColumn, rulecolumn); column.Caption = rulecolumn.Label; column.DataType = DataTypes.ToType(rulecolumn.DataType); if (rulecolumn.DataType == DataTypes.dtString) { column.MaxLength = rulecolumn.Size; } if (rulecolumn.HasDefValue) { column.AllowDBNull = rulecolumn.IsNullable; } columns.Add(column); } return(true); } catch (Exception e) { throw new Exception("SDP-ST02 填充元数据出错:" + e.Message); } }
public static bool InitTableSchemaFromDataRule(DataTable table, DataRule dr) { return(InitTableSchemaFromDataRule(table, dr, "")); }
public RuleColumnConstraintException(DataRule dr, DataRow row, RuleColumn rc) : base(dr, row, rc, rc.HasErrorMessage ? rc.ErrorMessage : "“" + rc.Label + "”约束出错!") { Code += "0001"; }
public RuleColumnConstraintException(DataRule dr, DataRow row, RuleColumn rc, string message, Exception innerException) : base(dr, row, rc, message, innerException) { Code += "0001"; }