public void DeleteList <T>(IConnection conn, Criteria condition) { int rowsAffected = 0; bool stoped = false; AssistantEntity typedEntity = new AssistantEntity(typeof(T)); typedEntity.Criteria = condition; if (AssertContinueDeleting(typedEntity, out stoped)) { ObjectManager oa = _d1.GetObjectManager(typeof(T)); rowsAffected = oa.MyDeleteList(conn, condition); } }
private bool AssertContinueSelecting(AssistantEntity entity, AssistantQueryParameter parameter, string[] fields, out AssistantPrepareEventArgs eventContext) { eventContext = null; if (PreSelectItem != null) { eventContext = new AssistantPrepareEventArgs(); eventContext.Entity = entity; eventContext.Fields = fields; PreSelectItem(this, eventContext); return(!eventContext.Canceled); } return(true); }
private bool AssertContinueInserting(AssistantEntity entity, string[] fields, out bool stoped) { stoped = false; if (null != PreInsertItem) { AssistantPrepareEventArgs args = new AssistantPrepareEventArgs(); args.Entity = entity; args.Fields = fields; PreInsertItem(this, args); stoped = args.Stoped; return(!args.Canceled); } return(true); }
private bool AssertContinueDeleting(AssistantEntity entity, out bool stoped) { stoped = false; if (null != PreDeleteItem) { AssistantPrepareEventArgs args = new AssistantPrepareEventArgs(); args.Entity = entity; PreDeleteItem(this, args); stoped = args.Stoped; return(!args.Canceled); } return(true); }
public List <T> SelectList <T>(IConnection conn, string tablename, Criteria condition, Order[] orders, int offset, int count, object[] fields) { AssistantPrepareEventArgs args; AssistantEntity typedEntity = new AssistantEntity(typeof(T)); typedEntity.TableName = tablename; typedEntity.Criteria = condition; AssistantQueryParameter parameter = new AssistantQueryParameter(); parameter.Orders = orders; parameter.Offset = offset; parameter.Count = count; bool isListField = (null != fields) && (fields.Length > 0) && (fields[0] is ListField); List <T> result = new List <T>(); string[] actualFields = null; if (isListField) { actualFields = new string[fields.Length]; for (int i = 0; i < actualFields.Length; i++) { actualFields[i] = (fields[i] as ListField).FieldName; } } if (AssertContinueSelecting(typedEntity, parameter, (isListField ? actualFields : (fields as string[])), out args)) { ObjectManager oa = string.IsNullOrEmpty(tablename) ? _d1.GetObjectManager(typeof(T)) : _d1.GetObjectManager(tablename); if (isListField) { result = oa.MyList <T>(conn, condition, orders, offset, count, (fields as ListField[])); } else { result = oa.MyList <T>(conn, condition, orders, offset, count, (fields as string[])); } } else if (null != args.ContextData && !ReferenceEquals(parameter, args.ContextData)) { result = (args.ContextData as List <T>) ?? new List <T>(); } return(result); }
public object Insert(IConnection conn, object obj, string[] fields) { int rowsAffected = 0; object identity = null; bool stoped = false; AssistantEntity typedEntity = new AssistantEntity(obj); if (AssertContinueInserting(typedEntity, fields, out stoped)) { ObjectManager oa = _d1.GetObjectManager(obj.GetType()); rowsAffected = oa.MyInsert(conn, obj, fields, out identity); } if (!stoped) { } return(rowsAffected); }
public int Update(IConnection conn, object obj, string[] fields, Criteria condition) { bool stoped = false; int rowsAffected = 0; AssistantEntity typedEntity = new AssistantEntity(obj); typedEntity.Criteria = condition; if (AssertContinueUpdating(typedEntity, fields, out stoped)) { ObjectManager oa = _d1.GetObjectManager(obj.GetType()); rowsAffected = oa.MyUpdate(conn, obj, fields, condition); } if (!stoped) { //NotifyUpdated(typedEntity, fields, rowsAffected); } return(rowsAffected); }