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; }
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; }
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; }
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; }
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; }