private static SearchOUIDType GetSearchOUIDType(int iSoc) { SearchOUIDType result = SearchOUIDType.None; if (Enum.TryParse(iSoc.ToString(), out result) == false) { throw new ApplicationException(string.Format("\"{0}\"不是能够接受的查询ID类型", iSoc)); } return(result); }
private static QueryByIDsAdapterBase <DataTable> GetSearchChildrenAdapter(SearchOUIDType idType, string[] schemaTypes, string[] ids, string keyword, int maxCount, bool recursively, bool includeNonDefault, bool includeDeleted) { QueryByIDsAdapterBase <DataTable> result = null; switch (idType) { case SearchOUIDType.LogOnName: result = new SearchChildrenByCodeNamesReturnTableAdapter(schemaTypes, ids, keyword, maxCount, recursively, includeNonDefault, includeDeleted); break; case SearchOUIDType.Guid: result = new SearchChildrenByGuidsReturnTableAdapter(schemaTypes, ids, keyword, maxCount, recursively, includeNonDefault, includeDeleted); break; case SearchOUIDType.FullPath: result = new SearchChildrenByFullPathsReturnTableAdapter(schemaTypes, ids, keyword, maxCount, recursively, includeNonDefault, includeDeleted); break; } return(result); }
//internal static void InternalRemoveAllCache() //{ // string[] cacheQueueType = { // "MCS.Library.OGUPermission.OguObjectIDCache, MCS.Library.OGUPermission", // "MCS.Library.OGUPermission.OguObjectFullPathCache, MCS.Library.OGUPermission", // "MCS.Library.OGUPermission.OguObjectLogOnNameCache, MCS.Library.OGUPermission", // "PermissionCenter.Caching.ServiceMethodCache, PermissionCenterServices" // }; // CacheNotifyData[] data = new CacheNotifyData[cacheQueueType.Length]; // for (int i = 0; i < cacheQueueType.Length; i++) // { // data[i] = new CacheNotifyData(); // data[i].CacheQueueTypeDesp = cacheQueueType[i]; // data[i].NotifyType = CacheNotifyType.Clear; // } // UdpCacheNotifier.Instance.SendNotify(data); //} internal static QueryByIDsAdapterBase <DataTable> GetSearchAdapter(SearchOUIDType idType, string[] schemaTypes, string[] ids, bool includeDeleted) { QueryByIDsAdapterBase <DataTable> result = null; switch (idType) { case SearchOUIDType.LogOnName: result = new QueryByCodeNamesReturnTableAdapter(schemaTypes, ids, includeDeleted); break; case SearchOUIDType.Guid: result = new QueryByGuidsReturnTableAdapter(schemaTypes, ids, includeDeleted); break; case SearchOUIDType.FullPath: result = new QueryByFullPathsReturnTableAdapter(schemaTypes, ids, includeDeleted); break; } return(result); }
/// <summary> /// 根据ID类型得到Cache实例 /// </summary> /// <param name="idType"></param> /// <returns></returns> public static OguObjectCacheBase GetInstance(SearchOUIDType idType) { OguObjectCacheBase result = null; switch (idType) { case SearchOUIDType.Guid: result = OguObjectIDCache.Instance; break; case SearchOUIDType.FullPath: result = OguObjectFullPathCache.Instance; break; case SearchOUIDType.LogOnName: result = OguObjectLogOnNameCache.Instance; break; } return(result); }
private static SearchOUIDType GetSearchOUIDType(UserValueType userValueType) { SearchOUIDType result = SearchOUIDType.None; switch (userValueType) { case UserValueType.Guid: result = SearchOUIDType.Guid; break; case UserValueType.AllPath: result = SearchOUIDType.FullPath; break; case UserValueType.LogonName: result = SearchOUIDType.LogOnName; break; default: throw new NotSupportedException(string.Format("不支持的用户ID类型{0}", userValueType)); } return(result); }
private static QueryByIDsAdapterBase <DataTable> GetQueryChildrenAdapter(SearchOUIDType idType, string[] schemaTypes, string[] ids, bool recursively, bool includeNonDefault, bool includeDeleted) { QueryByIDsAdapterBase <DataTable> result = null; switch (idType) { case SearchOUIDType.LogOnName: result = new QueryChildrenByCodeNamesReturnTableAdapter(schemaTypes, ids, recursively, includeNonDefault, includeDeleted); break; case SearchOUIDType.Guid: result = new QueryChildrenByGuidsReturnTableAdapter(schemaTypes, ids, recursively, includeNonDefault, includeDeleted); break; case SearchOUIDType.FullPath: result = new QueryChildrenByFullPathsReturnTableAdapter(schemaTypes, ids, recursively, includeNonDefault, includeDeleted); break; default: throw new NotSupportedException("不支持此查询方式"); } return(result); }
private static QueryByIDsAdapterBase<DataTable> GetMemberContainersAdapter(string[] schemaTypes, SearchOUIDType idType, string[] ids, bool includeDeleted) { QueryByIDsAdapterBase<DataTable> result = null; switch (idType) { case SearchOUIDType.LogOnName: result = new QueryMemberBelongToContainersByCodeNamesReturnTableAdapter(schemaTypes, ids, includeDeleted); break; case SearchOUIDType.Guid: result = new QueryMemberBelongToContainersByGuidsReturnTableAdapter(schemaTypes, ids, includeDeleted); break; case SearchOUIDType.FullPath: result = new QueryMemberBelongToContainersByFullPathsReturnTableAdapter(schemaTypes, ids, includeDeleted); break; } return result; }
private static QueryByIDsAdapterBase<DataTable> GetSearchChildrenAdapter(SearchOUIDType idType, string[] schemaTypes, string[] ids, string keyword, int maxCount, bool recursively, bool includeNonDefault, bool includeDeleted) { QueryByIDsAdapterBase<DataTable> result = null; switch (idType) { case SearchOUIDType.LogOnName: result = new SearchChildrenByCodeNamesReturnTableAdapter(schemaTypes, ids, keyword, maxCount, recursively, includeNonDefault, includeDeleted); break; case SearchOUIDType.Guid: result = new SearchChildrenByGuidsReturnTableAdapter(schemaTypes, ids, keyword, maxCount, recursively, includeNonDefault, includeDeleted); break; case SearchOUIDType.FullPath: result = new SearchChildrenByFullPathsReturnTableAdapter(schemaTypes, ids, keyword, maxCount, recursively, includeNonDefault, includeDeleted); break; } return result; }
private static QueryByIDsAdapterBase<DataTable> GetQueryChildrenAdapter(SearchOUIDType idType, string[] schemaTypes, string[] ids, bool recursively, bool includeNonDefault, bool includeDeleted) { QueryByIDsAdapterBase<DataTable> result = null; switch (idType) { case SearchOUIDType.LogOnName: result = new QueryChildrenByCodeNamesReturnTableAdapter(schemaTypes, ids, recursively, includeNonDefault, includeDeleted); break; case SearchOUIDType.Guid: result = new QueryChildrenByGuidsReturnTableAdapter(schemaTypes, ids, recursively, includeNonDefault, includeDeleted); break; case SearchOUIDType.FullPath: result = new QueryChildrenByFullPathsReturnTableAdapter(schemaTypes, ids, recursively, includeNonDefault, includeDeleted); break; default: throw new NotSupportedException("不支持此查询方式"); } return result; }
//internal static void InternalRemoveAllCache() //{ // string[] cacheQueueType = { // "MCS.Library.OGUPermission.OguObjectIDCache, MCS.Library.OGUPermission", // "MCS.Library.OGUPermission.OguObjectFullPathCache, MCS.Library.OGUPermission", // "MCS.Library.OGUPermission.OguObjectLogOnNameCache, MCS.Library.OGUPermission", // "PermissionCenter.Caching.ServiceMethodCache, PermissionCenterServices" // }; // CacheNotifyData[] data = new CacheNotifyData[cacheQueueType.Length]; // for (int i = 0; i < cacheQueueType.Length; i++) // { // data[i] = new CacheNotifyData(); // data[i].CacheQueueTypeDesp = cacheQueueType[i]; // data[i].NotifyType = CacheNotifyType.Clear; // } // UdpCacheNotifier.Instance.SendNotify(data); //} internal static QueryByIDsAdapterBase<DataTable> GetSearchAdapter(SearchOUIDType idType, string[] schemaTypes, string[] ids, bool includeDeleted) { QueryByIDsAdapterBase<DataTable> result = null; switch (idType) { case SearchOUIDType.LogOnName: result = new QueryByCodeNamesReturnTableAdapter(schemaTypes, ids, includeDeleted); break; case SearchOUIDType.Guid: result = new QueryByGuidsReturnTableAdapter(schemaTypes, ids, includeDeleted); break; case SearchOUIDType.FullPath: result = new QueryByFullPathsReturnTableAdapter(schemaTypes, ids, includeDeleted); break; } return result; }
public OguObjectCollection <T> GetObjects <T>(SearchOUIDType idType, params string[] ids) where T : IOguObject { return(idType.ToQueryAdapter <T>(typeof(T).ToSchemaTypes(), ids).Query()); }
public OguObjectCollection <T> GetObjects <T>(SearchOUIDType idType, params string[] ids) where T : IOguObject { ExceptionHelper.FalseThrow <ArgumentNullException>(ids != null, "ids"); SchemaType objType = OguObjectHelper.GetSchemaTypeFromInterface <T>(); ExceptionHelper.TrueThrow(idType == SearchOUIDType.LogOnName && (objType & ~(SchemaType.Users | SchemaType.Sideline)) != SchemaType.Unspecified, Resource.OnlyUserCanUserLogOnNameQuery); OguObjectCollection <T> result = null; if (ids.Length > 0) { string[] notInCacheIds = null; IList <T> objsInCache = null; if (ServiceBrokerContext.Current.UseLocalCache) { objsInCache = OguObjectCacheBase.GetInstance(idType).GetObjectsInCache <T>(ids, out notInCacheIds); } else { notInCacheIds = ids; objsInCache = new List <T>(); } if (notInCacheIds.Length > 0) { string multiIDString = BuildIDString(notInCacheIds); DataSet ds = OguReaderServiceBroker.Instance.GetObjectsDetail( SchemaTypeToString(objType), multiIDString, (int)idType, string.Empty, 0, Common.DefaultAttrs); //RemoveDeletedObject(ds.Tables[0]); //原来有这句话,现在去掉,可以查询已经逻辑删除的对象 OguObjectCollection <T> queryResult = new OguObjectCollection <T>(Common.BuildObjectsFromTable <T>(ds.Tables[0])); queryResult = queryResult.GetRemovedDuplicateDeletedObjectCollection(); if (ServiceBrokerContext.Current.UseLocalCache) { OguObjectCacheBase.GetInstance(idType).AddObjectsToCache <T>(queryResult); } foreach (T obj in queryResult) { objsInCache.Add(obj); } } result = new OguObjectCollection <T>(objsInCache); result.Sort(OrderByPropertyType.GlobalSortID, SortDirectionType.Ascending); } else { result = new OguObjectCollection <T>(); } return(result); }
public static QueryByIDsAdapterBase <OguObjectCollection <T> > ToQueryAdapter <T>(this SearchOUIDType idType, string[] schemaTypes, string[] ids) where T : IOguObject { QueryByIDsAdapterBase <OguObjectCollection <T> > result = null; switch (idType) { case SearchOUIDType.Guid: result = new QueryByGuidsAdapter <T>(schemaTypes, ids); break; case SearchOUIDType.FullPath: result = new QueryByFullPathsAdapter <T>(schemaTypes, ids); break; case SearchOUIDType.LogOnName: result = new QueryByCodeNamesAdapter <T>(schemaTypes, ids); break; default: throw new ArgumentException(string.Format("{0}不是可以处理的ID类型", idType), "idType"); } return(result); }
private static QueryByIDsAdapterBase <DataTable> GetMemberContainersAdapter(string[] schemaTypes, SearchOUIDType idType, string[] ids, bool includeDeleted) { QueryByIDsAdapterBase <DataTable> result = null; switch (idType) { case SearchOUIDType.LogOnName: result = new QueryMemberBelongToContainersByCodeNamesReturnTableAdapter(schemaTypes, ids, includeDeleted); break; case SearchOUIDType.Guid: result = new QueryMemberBelongToContainersByGuidsReturnTableAdapter(schemaTypes, ids, includeDeleted); break; case SearchOUIDType.FullPath: result = new QueryMemberBelongToContainersByFullPathsReturnTableAdapter(schemaTypes, ids, includeDeleted); break; } return(result); }