Example #1
0
        public virtual void UpdateItem(string table, T item)
        {
            List <Condition> conditions = new List <Condition>();
            List <Statement> columns    = new List <Statement>();

            PropertyInfo[] propertyInfos = null;

            if (propertyInfos == null)
            {
                propertyInfos = item.GetType().GetProperties();
            }
            foreach (var info in propertyInfos)
            {
                var value = info.GetValue(item) ?? "(null)";
                if (Mappings.ContainsKey(info.Name))
                {
                    columns.Add(new Statement(value, Mappings[info.Name]));
                }
                IDAttribute idAttr = (IDAttribute)Attribute.GetCustomAttribute(info, typeof(IDAttribute));
                if (idAttr != null)
                {
                    conditions.Add(new Condition(Operator.Equal, value, idAttr.Name));
                }
            }
            Update(table, columns, conditions);
        }
Example #2
0
        public T GetItem(string tablename, Guid g)
        {
            List <Condition> conditions = new List <Condition>();

            PropertyInfo[] propertyInfos = null;

            if (propertyInfos == null)
            {
                propertyInfos = typeof(T).GetProperties();
            }
            foreach (var info in propertyInfos)
            {
                IDAttribute idAttr = (IDAttribute)Attribute.GetCustomAttribute(info, typeof(IDAttribute));
                if (idAttr != null)
                {
                    conditions.Add(new Condition(Operator.Equal, g, idAttr.Name));
                }
            }
            return(Select(tablename, null, conditions).DataTableToList <T>().FirstOrDefault <T>());
        }
Example #3
0
        public void DeleteItem(string table, Guid guid)
        {
            List <Condition> conditions = new List <Condition>();

            PropertyInfo[] propertyInfos = null;

            if (propertyInfos == null)
            {
                propertyInfos = typeof(T).GetProperties();
            }
            foreach (var info in propertyInfos)
            {
                var         value  = guid;
                IDAttribute idAttr = (IDAttribute)Attribute.GetCustomAttribute(info, typeof(IDAttribute));
                if (idAttr != null)
                {
                    conditions.Add(new Condition(Operator.Equal, value, idAttr.Name));
                }
            }
            Delete(table, null, conditions);
        }
Example #4
0
        public override void UpdateItem(string table, T item)
        {
            List <Condition> conditions = new List <Condition>();
            List <Condition> columns    = new List <Condition>();

            PropertyInfo[] propertyInfos = null;

            if (propertyInfos == null)
            {
                propertyInfos = item.GetType().GetProperties();
            }
            foreach (var info in propertyInfos)
            {
                var value = info.GetValue(item) ?? "(null)";

                object[] attrs = info.GetCustomAttributes(true);
                if (attrs.Length == 0)
                {
                    base.UpdateItem(table, item);
                    return;
                }
                IDAttribute idAttr = (IDAttribute)Attribute.GetCustomAttribute(info, typeof(IDAttribute));
                if (idAttr != null)
                {
                    string id = idAttr.Name;
                    conditions.Add(new Condition(Operator.Equal, value, id));
                }
                foreach (object attr in attrs)
                {
                    MapAttribute mapAttr = attr as MapAttribute;
                    if (mapAttr != null)
                    {
                        columns.Add(new Condition(Operator.Equal, value, mapAttr.Name));
                    }
                }
            }
            Update(table, columns, conditions);
        }