internal AfterCommitDispatcher(AfterEditEventHandler afterEditAfterCommitCallback, AfterCreateEventHandler afterCreateAfterCommitCallback, AfterDeleteEventHandler afterDeleteAfterCommitCallback) { this.afterCreateAfterCommitCallback = afterCreateAfterCommitCallback; this.afterEditAfterCommitCallback = afterEditAfterCommitCallback; this.afterDeleteAfterCommitCallback = afterDeleteAfterCommitCallback; this.dataActionEventArgsList = new List <DataActionEventArgs>(); }
public static DataRow Create(this View view, Dictionary <string, object> values, string insertAbovePK, BeforeCreateEventHandler beforeCreateCallback, BeforeCreateInDatabaseEventHandler beforeCreateInDatabaseEventHandler, AfterCreateEventHandler afterCreateBeforeCommitCallback, AfterCreateEventHandler afterCreateAfterCommitCallback) { if (!view.AllowCreate && !view.AllowDuplicate) { throw new AccessViolationException(); } if (!view.SystemView) { string[] fields = ValidateTextLength(view, values); if (fields.Length > 0) { throw new ExceedLengthException(fields); } } return(GetDataTableAccess(view).GetNewRow(view, values, insertAbovePK, beforeCreateCallback, beforeCreateInDatabaseEventHandler, afterCreateBeforeCommitCallback, afterCreateAfterCommitCallback)); }
public DataRow CreateRow(View view, string insertAbovePK, Json.View jsonView, BeforeCreateEventHandler beforeCreateCallback, BeforeCreateInDatabaseEventHandler beforeCreateInDatabaseCallback, AfterCreateEventHandler afterCreateBeforeCommitCallback, AfterCreateEventHandler afterCreateAfterCommitCallback) { Dictionary <string, object> values = new Dictionary <string, object>(); foreach (Json.Field jsonField in jsonView.Fields.Values) { object value; if (view.Fields.ContainsKey(jsonField.Name) && view.Fields[jsonField.Name].FieldType == FieldType.Column && ((ColumnField)view.Fields[jsonField.Name]).DataColumn.DataType.Equals(typeof(byte[]))) { value = ((ColumnField)view.Fields[jsonField.Name]).ConvertFromString(jsonField.Value.ToString()); } else { value = LocalizeValue(view, jsonField.Name, jsonField.Value); } values.Add(jsonField.Name, value); } DataRow dataRow = view.Create(values, insertAbovePK, beforeCreateCallback, beforeCreateInDatabaseCallback, afterCreateBeforeCommitCallback, afterCreateAfterCommitCallback); return(dataRow); }
public static int?Create(this View view, Dictionary <string, object> values, string insertAbovePK, BeforeCreateEventHandler beforeCreateCallback, BeforeCreateInDatabaseEventHandler beforeCreateInDatabaseEventHandler, AfterCreateEventHandler afterCreateBeforeCommitCallback, AfterCreateEventHandler afterCreateAfterCommitCallback, IDbCommand command, out bool roolback) { if (!view.AllowCreate && !view.AllowDuplicate) { throw new AccessViolationException(); } return(GetDataTableAccess(view).Create(view, values, false, insertAbovePK, beforeCreateCallback, beforeCreateInDatabaseEventHandler, afterCreateBeforeCommitCallback, afterCreateAfterCommitCallback, (System.Data.SqlClient.SqlCommand)command, out roolback)); }
FROM v"; //WHERE level < 3 public string AddChild(string parentKey, string name, BeforeCreateEventHandler bfCreate, BeforeCreateInDatabaseEventHandler bfDbCreate, AfterCreateEventHandler afCreate, AfterCreateEventHandler afCreateAndCommit) { //string sql = "INSERT INTO {0} ([{1}],[{2}]) VALUES ('{3}','{4}')"; //string query = string.Format(sql, view.DataTable.TableName, view.TreeRelatedFieldName, view.DisplayColumn,parentKey, name); Dictionary <string, object> values = new Dictionary <string, object>(); values.Add(view.TreeRelatedFieldName, parentKey); values.Add(view.DisplayColumn, name); DataAccess.SqlAccess da = new DataAccess.SqlAccess(); int?id = da.Create(view, values, null, bfCreate, bfDbCreate, afCreate, afCreateAndCommit); if (id.HasValue && id.Value > 0) { return(id.Value.ToString()); } else { return(string.Empty); } }