Example #1
0
        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);
            }
        }
Example #2
0
        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);
        }
Example #3
0
 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);
 }
Example #4
0
        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);
        }
Example #5
0
        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);
        }
Example #6
0
        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);
        }
Example #7
0
        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);
        }