Example #1
0
        public static List<CMetaobject> sGetObjectsByClass(EnMetaobjectClass Class, DataContext Context)
        {
            List<CMetaobject> R = new List<CMetaobject>();

            var Objects = Context.GetTable<CMetaobject>();
            var Query = from Obj in Objects
                        where Obj.Class == Class
                        select Obj;

            foreach (CMetaobject Object in Query)
                Object.Attributes.ObjectKey = Object.Key;

            return R;
        }
Example #2
0
        public static List<CMetaobjectLink> sGetInternalLinksByClass(decimal ObjectKey, EnMetaobjectClass Class, DataContext Context)
        {
            List<CMetaobjectLink> R = new List<CMetaobjectLink>();

            var Links = Context.GetTable<CMetaobjectLink>();
            var Objects = Context.GetTable<CMetaobject>();
            var Result = from Link in Links
                         join Metaobject in Objects
                         on Link.SourceObjectKey equals Metaobject.Key
                         where Link.SourceObjectKey == ObjectKey && Metaobject.Class == Class
                         select Link;
            R = Result.ToList();

            return R;
        }
Example #3
0
        public virtual int ObjectGetByID(IDatabaseProvider Provider)
        {
            Hashtable Params = new Hashtable();
            Params.Add(CDBConst.CONST_TABLE_FIELD_OBJ_ID, this._id.ToString().ToUpper());

            var SQL = "SELECT " + CDBConst.CONST_TABLE_FIELD_OBJ_KEY + ", " + CDBConst.CONST_TABLE_FIELD_OBJ_ID  + ", ";
            SQL += CDBConst.CONST_TABLE_FIELD_OBJ_PARENT + ", " + CDBConst.CONST_TABLE_FIELD_OBJ_CLASS + ", " + CDBConst.CONST_TABLE_FIELD_OBJ_SYSTEM + ", " + CDBConst.CONST_TABLE_FIELD_OBJ_MOD + ", " + CDBConst.CONST_TABLE_FIELD_OBJ_STATUS;
            SQL += " FROM " + CDBConst.CONST_TABLE_OBJECTS + " WHERE UPPER(" + CDBConst.CONST_TABLE_FIELD_OBJ_ID + ") = @p" + CDBConst.CONST_TABLE_FIELD_OBJ_ID;

            var T = Provider.QueryGetData(SQL, false, Params);
            if (T == null || T.Rows.Count == 0)
            {
                this._key = CDBConst.CONST_OBJECT_EMPTY_KEY;
                this._id = Guid.Empty;
                this._parent = CEmbeddedObjectsConsts.CONST_FOLDER_PUBLIC_ROOT_KEY;
                return CErrors.ERR_DB_GET_OBJECT;
            }
            else
            {
                this._key = T.Rows[0][0].PostProcessDatabaseValue<decimal>(CDBConst.CONST_OBJECT_EMPTY_KEY);
                this._id = Guid.Parse(T.Rows[0][1].PostProcessDatabaseValue<string>(""));
                this._parent = T.Rows[0][2].PostProcessDatabaseValue<decimal>(-3);
                this._class = T.Rows[0][3].PostProcessDatabaseValue<EnMetaobjectClass>();
                this._system = ((T.Rows[0][4].PostProcessDatabaseValue<int>(0)) == 1);
                this._modificationDate = T.Rows[0][5].PostProcessDatabaseValue<DateTime>(DateTime.Now);
                this._status = T.Rows[0][6].PostProcessDatabaseValue<EnMetaobjectStatus>(EnMetaobjectStatus.EEnabled);
                this._attributes.ObjectKey = this._key;
            }

            return CErrors.ERR_SUC;
        }
Example #4
0
        public static List<CMetaobject> sGetObjectsByClass(EnMetaobjectClass Class, IDatabaseProvider Provider)
        {
            List<CMetaobject> R = new List<CMetaobject>();

            Hashtable Params = new Hashtable();
            Params.Add(CDBConst.CONST_TABLE_FIELD_OBJ_CLASS, Class);

            var SQL = "SELECT " + CDBConst.CONST_TABLE_FIELD_OBJ_KEY + ", " + CDBConst.CONST_TABLE_FIELD_OBJ_ID + ", ";
            SQL += CDBConst.CONST_TABLE_FIELD_OBJ_PARENT + ", " + CDBConst.CONST_TABLE_FIELD_OBJ_CLASS + ", " + CDBConst.CONST_TABLE_FIELD_OBJ_SYSTEM + ", " + CDBConst.CONST_TABLE_FIELD_OBJ_MOD + ", " + CDBConst.CONST_TABLE_FIELD_OBJ_STATUS;
            SQL += " FROM " + CDBConst.CONST_TABLE_OBJECTS + " WHERE " + CDBConst.CONST_TABLE_FIELD_OBJ_CLASS + " = @p" + CDBConst.CONST_TABLE_FIELD_OBJ_CLASS;

            var T = Provider.QueryGetData(SQL, false, Params);
            if (T == null)
                return R;
            for (int i = 0; i < T.Rows.Count; i++)
            {
                var Object = new CMetaobject(Provider);
                Object.Key = T.Rows[i][0].PostProcessDatabaseValue<decimal>(CDBConst.CONST_OBJECT_EMPTY_KEY);
                Object.ID = Guid.Parse(T.Rows[i][1].PostProcessDatabaseValue<string>(""));
                Object.Parent = T.Rows[i][2].PostProcessDatabaseValue<decimal>(-3);
                Object.Class = T.Rows[i][3].PostProcessDatabaseValue<EnMetaobjectClass>();
                Object.System = (T.Rows[i][4].PostProcessDatabaseValue<int>(0) == 1);
                Object.ModificatonDate = T.Rows[0][5].PostProcessDatabaseValue<DateTime>(DateTime.Now);
                Object.Status = T.Rows[0][6].PostProcessDatabaseValue<EnMetaobjectStatus>();
                Object.Attributes.ObjectKey = Object.Key;
                R.Add(Object);
            }

            return R;
        }
Example #5
0
        public static List<CMetaobjectLink> sGetInternalLinksByClass(decimal ObjectKey, EnMetaobjectClass Class, IDatabaseProvider Provider)
        {
            List<CMetaobjectLink> R = new List<CMetaobjectLink>();

            Hashtable Params = new Hashtable();
            Params.Add(CDBConst.CONST_TABLE_FIELD_OBJ_KEY, ObjectKey);
            Params.Add(CDBConst.CONST_TABLE_FIELD_OBJ_CLASS, Class);

            string SQL = "SELECT A." + CDBConst.CONST_TABLE_FIELD_OBJ_KEY;
            SQL += ", A." + CDBConst.CONST_TABLE_FIELD_LINK_OBJ_KEY;
            SQL += ", A." + CDBConst.CONST_TABLE_FIELD_LINK_OBJ_VALUE;
            SQL += ", A." + CDBConst.CONST_TABLE_FIELD_LINK_OBJ_TYPE;
            SQL += " FROM " + CDBConst.CONST_TABLE_OBJECTS_LINKS + " A JOIN " + CDBConst.CONST_TABLE_OBJECTS + " B ON A." + CDBConst.CONST_TABLE_FIELD_OBJ_KEY + " = B." + CDBConst.CONST_TABLE_FIELD_OBJ_KEY + " WHERE ";
            SQL += "A." + CDBConst.CONST_TABLE_FIELD_OBJ_KEY + " = @p" + CDBConst.CONST_TABLE_FIELD_OBJ_KEY;
            SQL += " AND B." + CDBConst.CONST_TABLE_FIELD_OBJ_CLASS + " = @p" + CDBConst.CONST_TABLE_FIELD_OBJ_CLASS;

            var T = Provider.QueryGetData(SQL, false, Params);
            if (T == null || T.Rows.Count == 0)
                return R;

            for (int i = 0; i < T.Rows.Count; i++)
            {
                var Link = new CMetaobjectLink()
                {
                    SourceObjectKey = T.Rows[i][0].PostProcessDatabaseValue<decimal>(CDBConst.CONST_OBJECT_EMPTY_KEY),
                    LinkedObjectKey = T.Rows[i][1].PostProcessDatabaseValue<decimal>(CDBConst.CONST_OBJECT_EMPTY_KEY),
                    LinkValue = T.Rows[i][2].PostProcessDatabaseValue<int>(-1),
                    LinkType = T.Rows[i][3].PostProcessDatabaseValue<EnMetaobjectLinkType>()
                };
                R.Add(Link);
            }

            return R;
        }