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