Beispiel #1
0
 /// <summary>
 /// 初始化一个 指定页索引与页大小的分页查询条件信息类 的新实例
 /// </summary>
 /// <param name="pageIndex"> 页索引 </param>
 /// <param name="pageSize"> 页大小 </param>
 public PageCondition(int pageIndex, int pageSize)
 {
     pageIndex.CheckGreaterThan("pageIndex", 0);
     pageSize.CheckGreaterThan("pageSize", 0);
     PageIndex = pageIndex;
     PageSize = pageSize;
     SortConditions = new SortCondition[] { };
 }
Beispiel #2
0
        internal void FromSortCondition(SortCondition sc)
        {
            this.SetAllNull();

            if (sc.Descending != null && sc.Descending.Value) this.Descending = sc.Descending.Value;
            if (sc.SortBy != null) this.SortBy = sc.SortBy.Value;

            int iStartRowIndex = 1;
            int iStartColumnIndex = 1;
            int iEndRowIndex = 1;
            int iEndColumnIndex = 1;
            string sRef = sc.Reference.Value;
            if (sRef.IndexOf(":") > 0)
            {
                if (SLTool.FormatCellReferenceRangeToRowColumnIndex(sRef, out iStartRowIndex, out iStartColumnIndex, out iEndRowIndex, out iEndColumnIndex))
                {
                    this.StartRowIndex = iStartRowIndex;
                    this.StartColumnIndex = iStartColumnIndex;
                    this.EndRowIndex = iEndRowIndex;
                    this.EndColumnIndex = iEndColumnIndex;
                }
            }
            else
            {
                if (SLTool.FormatCellReferenceToRowColumnIndex(sRef, out iStartRowIndex, out iStartColumnIndex))
                {
                    this.StartRowIndex = iStartRowIndex;
                    this.StartColumnIndex = iStartColumnIndex;
                    this.EndRowIndex = iStartRowIndex;
                    this.EndColumnIndex = iStartColumnIndex;
                }
            }

            if (sc.CustomList != null) this.CustomList = sc.CustomList.Value;
            if (sc.FormatId != null) this.FormatId = sc.FormatId.Value;
            if (sc.IconSet != null) this.IconSet = sc.IconSet.Value;
            if (sc.IconId != null) this.IconId = sc.IconId.Value;
        }
Beispiel #3
0
        internal SortCondition ToSortCondition()
        {
            SortCondition sc = new SortCondition();
            if (this.Descending != null) sc.Descending = this.Descending.Value;
            if (HasSortBy) sc.SortBy = this.SortBy;

            if (this.StartRowIndex == this.EndRowIndex && this.StartColumnIndex == this.EndColumnIndex)
            {
                sc.Reference = SLTool.ToCellReference(this.StartRowIndex, this.StartColumnIndex);
            }
            else
            {
                sc.Reference = string.Format("{0}:{1}",
                    SLTool.ToCellReference(this.StartRowIndex, this.StartColumnIndex),
                    SLTool.ToCellReference(this.EndRowIndex, this.EndColumnIndex));
            }

            if (this.CustomList != null) sc.CustomList = this.CustomList;
            if (this.FormatId != null) sc.FormatId = this.FormatId;
            if (HasIconSet) sc.IconSet = this.IconSet;
            if (this.IconId != null) sc.IconId = this.IconId.Value;

            return sc;
        }
Beispiel #4
0
        public async Task <DataRequestResult <FlowInboxAdapterModel> > GetAsync(DataRequest dataRequest,
                                                                                UserHelper UserHelper, CurrentUser CurrentUser)
        {
            List <FlowInboxAdapterModel> data = new();
            DataRequestResult <FlowInboxAdapterModel> result = new();
            var DataSource = context.FlowInbox
                             .Include(x => x.MyUser)
                             .Include(x => x.FlowMaster)
                             .AsNoTracking();

            #region 進行搜尋動作
            if (!string.IsNullOrWhiteSpace(dataRequest.Search))
            {
                DataSource = DataSource
                             .Where(x => x.Title.Contains(dataRequest.Search) ||
                                    x.Title.Contains(dataRequest.Search));
            }
            #endregion

            #region 決定要顯示那些使用者郵件
            if (CurrentUser.LoginMyUserAdapterModel.Account.ToLower() != MagicHelper.開發者帳號.ToString())
            {
                DataSource = DataSource
                             .Where(x => x.MyUserId == CurrentUser.LoginMyUserAdapterModel.Id);
            }
            #endregion


            #region 進行排序動作
            if (dataRequest.Sorted != null)
            {
                SortCondition CurrentSortCondition = dataRequest.Sorted;
                switch (CurrentSortCondition.Id)
                {
                case (int)FlowInboxSortEnum.CreateDateDescending:
                    DataSource = DataSource.OrderByDescending(x => x.ReceiveTime);
                    break;

                case (int)FlowInboxSortEnum.CreateDateAscending:
                    DataSource = DataSource.OrderBy(x => x.ReceiveTime);
                    break;

                default:
                    DataSource = DataSource.OrderBy(x => x.Id);
                    break;
                }
            }
            #endregion

            #region 進行分頁
            // 取得記錄總數量,將要用於分頁元件面板使用
            result.Count = DataSource.Cast <FlowInbox>().Count();
            DataSource   = DataSource.Skip(dataRequest.Skip);
            if (dataRequest.Take != 0)
            {
                DataSource = DataSource.Take(dataRequest.Take);
            }
            #endregion

            #region 在這裡進行取得資料與與額外屬性初始化
            List <FlowInboxAdapterModel> adapterModelObjects =
                Mapper.Map <List <FlowInboxAdapterModel> >(DataSource);

            foreach (var adapterModelItem in adapterModelObjects)
            {
                await OhterDependencyData(adapterModelItem);
            }
            #endregion

            result.Result = adapterModelObjects;
            await Task.Yield();

            return(result);
        }
Beispiel #5
0
 /// <summary>
 /// 初始化一个 指定页索引与页大小的分页查询条件信息类 的新实例
 /// </summary>
 /// <param name="pageIndex"> 页索引 </param>
 /// <param name="pageSize"> 页大小 </param>
 public PageCondition(int pageIndex, int pageSize)
 {
     PageIndex      = pageIndex;
     PageSize       = pageSize;
     SortConditions = new SortCondition[] { };
 }
Beispiel #6
0
 /// <summary>
 /// 动态排序
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="query"></param>
 /// <param name="sortCondition"></param>
 /// <returns></returns>
 public static IQueryable <T> OrderByCondition <T>(this IQueryable <T> query, SortCondition sortCondition)
 {
     return(OrderByCondition <T>(query, sortCondition.Field, sortCondition.SortDirection));
 }
Beispiel #7
0
 /// <summary>
 /// 初始化一个 默认参数(第1页,每页20,排序条件为空)的分页查询条件信息类 的新实例
 /// </summary>
 public PageCondition()
 {
     PageIndex = 1;
     PageSize = 20;
     SortConditions = new SortCondition[] { };
 }
    public void cleanSortCondition()
    {
        SortCondition sc = SortConditionManagerment.Instance.getConditionsByKey(SiftWindowType.SIFT_CARDCHOOSE_WINDOW);

        sc.clearSortCondition();
    }
Beispiel #9
0
 /// <summary>
 /// 初始化一个 默认参数(第1页,每页20,排序条件为空)的分页查询条件信息类 的新实例
 /// </summary>
 public PageCondition()
 {
     PageIndex      = 1;
     PageSize       = 20;
     SortConditions = new SortCondition[] { };
 }
 /// <summary>
 /// 把<see cref="IQueryable{T}"/>集合按指定字段排序条件进行排序
 /// </summary>
 /// <typeparam name="T">动态类型</typeparam>
 /// <param name="source">要排序的数据集</param>
 /// <param name="sortCondition">列表字段排序条件</param>
 /// <returns></returns>
 public static IOrderedQueryable <T> OrderBy <T>(this IQueryable <T> source, SortCondition <T> sortCondition)
 {
     source.CheckNotNull("source");
     sortCondition.CheckNotNull("sortCondition");
     return(source.OrderBy(sortCondition.SortField, sortCondition.ListSortDirection));
 }
        public async Task <DataRequestResult <SystemLogAdapterModel> > GetAsync(DataRequest dataRequest)
        {
            List <SystemLogAdapterModel> data = new();
            DataRequestResult <SystemLogAdapterModel> result = new();
            var DataSource = context.SystemLog
                             .AsNoTracking();

            #region 進行搜尋動作
            if (!string.IsNullOrWhiteSpace(dataRequest.Search))
            {
                DataSource = DataSource
                             .Where(x => x.Message.Contains(dataRequest.Search) ||
                                    x.Category.Contains(dataRequest.Search) ||
                                    x.LogLevel.Contains(dataRequest.Search) ||
                                    x.Content.Contains(dataRequest.Search));
            }
            #endregion

            #region 進行排序動作
            if (dataRequest.Sorted != null)
            {
                SortCondition CurrentSortCondition = dataRequest.Sorted;
                switch (CurrentSortCondition.Id)
                {
                case (int)SystemLogSortEnum.更新時間Descending:
                    DataSource = DataSource.OrderByDescending(x => x.Updatetime);
                    break;

                case (int)SystemLogSortEnum.更新時間Ascending:
                    DataSource = DataSource.OrderBy(x => x.Updatetime);
                    break;

                case (int)SystemLogSortEnum.MessageDescending:
                    DataSource = DataSource.OrderByDescending(x => x.Message)
                                 .ThenByDescending(x => x.Updatetime);
                    break;

                case (int)SystemLogSortEnum.MessageAscending:
                    DataSource = DataSource.OrderBy(x => x.Message)
                                 .ThenByDescending(x => x.Updatetime);
                    break;

                case (int)SystemLogSortEnum.CategoryDescending:
                    DataSource = DataSource.OrderByDescending(x => x.Category)
                                 .ThenByDescending(x => x.Updatetime);
                    break;

                case (int)SystemLogSortEnum.CategoryAscending:
                    DataSource = DataSource.OrderBy(x => x.Category)
                                 .ThenByDescending(x => x.Updatetime);
                    break;

                default:
                    DataSource = DataSource.OrderBy(x => x.Id);
                    break;
                }
            }
            #endregion

            #region 進行分頁
            // 取得記錄總數量,將要用於分頁元件面板使用
            result.Count = DataSource.Cast <SystemLog>().Count();
            DataSource   = DataSource.Skip(dataRequest.Skip);
            if (dataRequest.Take != 0)
            {
                DataSource = DataSource.Take(dataRequest.Take);
            }
            #endregion

            #region 在這裡進行取得資料與與額外屬性初始化
            List <SystemLogAdapterModel> adapterModelObjects =
                Mapper.Map <List <SystemLogAdapterModel> >(DataSource);

            foreach (var adapterModelItem in adapterModelObjects)
            {
                await OhterDependencyData(adapterModelItem);
            }
            #endregion

            result.Result = adapterModelObjects;
            await Task.Yield();

            return(result);
        }
    protected override void begin()
    {
        base.begin();
        noCardPoint.SetActive(false);

        if (!isAwakeformHide || currentStorageVersion != StorageManagerment.Instance.RoleStorageVersion)
        {
            currentStorageVersion = StorageManagerment.Instance.RoleStorageVersion;
            allList = StorageManagerment.Instance.getAllRole();
            //设置默认排序
            sc      = SortConditionManagerment.Instance.initDefaultSort(SiftWindowType.SIFT_CARDCHOOSE_WINDOW);
            allList = SortManagerment.Instance.cardSort(allList, sc);
            allList = topTeamRole(allList);
            //归类:全部(allList),非上阵卡(showList),上阵卡(hideList),
            recalculateAllCard(allList);
            //选择主卡 or 被传承的卡片
            if (selectType == IntensifyCardManager.MAINCARDSELECT)
            {
                ArrayList mainSelect = StorageManagerment.Instance.getAllRoleByNotToEat();
                //进化
                if (intoType == IntensifyCardManager.INTENSIFY_CARD_EVOLUTION)
                {
                    currentList = chooseEvoMainCard(mainSelect);
                    currentList = topTeamRole(currentList);
                    content.Initialize(currentList, selectType, intoType);
                }
                //献祭
                else if (intoType == IntensifyCardManager.INTENSIFY_CARD_SACRIFICE)
                {
                    currentList = removeFullskillCard(mainSelect);
                    currentList = filterFood(mainSelect);
                    currentList = topTeamRole(currentList);
                    content.Initialize(currentList, selectType, intoType);
                }
                //传承
                else if (intoType == IntensifyCardManager.INTENSIFY_CARD_INHERIT)
                {
                    currentList = RemoveSpriteCard(mainSelect);
                    currentList = removeMainCard(currentList);
                    currentList = topTeamRole(currentList);
                    content.Initialize(currentList, selectType, intoType);
                }
                //超进化
                else if (intoType == IntensifyCardManager.INTENSIFY_CARD_SUPRE_EVO)
                {
                    currentList = removeMainCard(mainSelect);
                    currentList = getCanSuperEvoCard(currentList);
                    currentList = topTeamRole(currentList);
                    content.Initialize(currentList, selectType, intoType);
                }
                else
                {
                    currentList = filterFood(mainSelect);
                    currentList = topTeamRole(currentList);
                    content.Initialize(currentList, selectType, intoType);
                }
            }
            //选择副卡 or 获得传承属性的卡片
            else if (selectType == IntensifyCardManager.FOODCARDSELECT)
            {
                ArrayList list = null;
                //进化
                if (intoType == IntensifyCardManager.INTENSIFY_CARD_EVOLUTION)
                {
                    list = chooseEvoFoodCard(showList);
                }
                //超进化
                else if (intoType == IntensifyCardManager.INTENSIFY_CARD_SUPRE_EVO)
                {
                    list = chooseEvoFoodCard(showList);
                }
                //附加
                else if (intoType == IntensifyCardManager.INTENSIFY_CARD_ADDON)
                {
                    list = IntensifyCardManager.Instance.RemoveWasteCard(showList);
                }
                //传承
                else if (intoType == IntensifyCardManager.INTENSIFY_CARD_INHERIT)
                {
                    list = RemoveNotHaveExpCard(showList);
                    list = removeMainCard(list);
                }

                //献祭
                else
                {
                    list = removeMainCard(showList);
                    list = RemoveSpriteCard(list);
                    list = RemoveHaveExpCard(list);//优化为显示所有的卡YXZH-7732、、(YXZH -8065 要求剔除有附加,进化,等级经验的卡)
                }
                //currentList是最后过滤完所有条件后的list
                currentList = filterMain(list);
                currentList = topTeamRole(currentList);
                //(进化/超进化)选卡发现没有卡片的话需要提示
                if (intoType == IntensifyCardManager.INTENSIFY_CARD_EVOLUTION || intoType == IntensifyCardManager.INTENSIFY_CARD_SUPRE_EVO)
                {
                    if (list.Count == 0)
                    {
                        noEvoCardLabel.gameObject.SetActive(true);
                    }
                    else
                    {
                        noEvoCardLabel.gameObject.SetActive(false);
                    }
                }
                content.Initialize(currentList, selectType, intoType);
            }
        }
        else if (SortManagerment.Instance.isIntensifyCardChooseModifyed)
        {
            SortManagerment.Instance.isIntensifyCardChooseModifyed = false;

            updateContent();
        }
        if (intoType == IntensifyCardManager.INTENSIFY_CARD_ADDON && currentList.Count < 1)
        {
            noCardPoint.SetActive(true);
            noCardDescLabel.text = LanguageConfigManager.Instance.getLanguage("go_to_happy1");
            noCardLabel.text     = LanguageConfigManager.Instance.getLanguage("go_to_happy");
        }
        else if (intoType == IntensifyCardManager.INTENSIFY_CARD_SACRIFICE && currentList.Count < 1)
        {
            noCardPoint.SetActive(true);
            noCardDescLabel.text = LanguageConfigManager.Instance.getLanguage("intensifyCardWindow_buttonSelect2");
            noCardLabel.text     = LanguageConfigManager.Instance.getLanguage("call_card");
        }
        MaskWindow.UnlockUI();
    }
 /// <summary>
 /// 把<see cref="IOrderedQueryable{T}"/>集合继续指定字段排序方式进行排序
 /// </summary>
 /// <typeparam name="T">动态类型</typeparam>
 /// <param name="source">要排序的数据集</param>
 /// <param name="sortCondition">列表字段排序条件</param>
 /// <returns></returns>
 public static IOrderedQueryable <T> ThenBy <T>(this IOrderedQueryable <T> source, SortCondition sortCondition)
 {
     return(source.ThenBy(sortCondition.SortField, sortCondition.ListSortDirection));
 }
 /// <summary>
 /// 把<see cref="IEnumerable{T}"/>集合按指定字段排序条件进行排序
 /// </summary>
 /// <typeparam name="T">动态类型</typeparam>
 /// <param name="source">要排序的数据集</param>
 /// <param name="sortCondition">列表字段排序条件</param>
 /// <returns></returns>
 public static IOrderedEnumerable <T> OrderBy <T>(this IEnumerable <T> source, SortCondition <T> sortCondition)
 {
     return(source.OrderBy(sortCondition.SortField, sortCondition.ListSortDirection));
 }
        /// <summary>
        ///     把<see cref="IOrderedQueryable{T}" />集合继续指定字段排序方式进行排序
        /// </summary>
        /// <typeparam name="T">动态类型</typeparam>
        /// <param name="source">要排序的数据集</param>
        /// <param name="sortCondition">列表字段排序条件</param>
        /// <returns></returns>
        public static IOrderedQueryable <T> ThenBy <T>(this IOrderedQueryable <T> source, SortCondition sortCondition)
        {
            source.CheckNotNull(nameof(source));
            sortCondition.CheckNotNull(nameof(sortCondition));

            return(source.ThenBy(sortCondition.SortField, sortCondition.ListSortDirection));
        }
 /// <summary>
 /// 把<see cref="IOrderedEnumerable{T}"/>集合继续指定字段排序方式进行排序
 /// </summary>
 /// <typeparam name="T">动态类型</typeparam>
 /// <param name="source">要排序的数据集</param>
 /// <param name="sortCondition">列表字段排序条件</param>
 /// <returns></returns>
 public static IOrderedEnumerable <T> ThenBy <T>(this IOrderedEnumerable <T> source, SortCondition sortCondition)
 {
     ValidateOperator.Begin().NotNull(source, "要排序的数据集").NotNull(sortCondition, "列表字段排序条件");
     return(source.ThenBy(sortCondition.SortField, sortCondition.ListSortDirection));
 }
Beispiel #17
0
        public async Task <DataRequestResult <MailQueueAdapterModel> > GetAsync(DataRequest dataRequest,
                                                                                MailQueueStatusCondition CurrentMailQueueStatusCondition = null)
        {
            List <MailQueueAdapterModel> data = new();
            DataRequestResult <MailQueueAdapterModel> result = new();
            var DataSource = context.MailQueue
                             .AsNoTracking();

            #region 進行搜尋動作
            if (!string.IsNullOrWhiteSpace(dataRequest.Search))
            {
                DataSource = DataSource
                             .Where(x => x.Subject.Contains(dataRequest.Search));
            }
            #endregion

            #region 過濾狀態
            if (CurrentMailQueueStatusCondition != null)
            {
                if (CurrentMailQueueStatusCondition.Id != -1)
                {
                    DataSource = DataSource
                                 .Where(x => x.Status == CurrentMailQueueStatusCondition.Id);
                }
            }
            #endregion

            #region 進行排序動作
            if (dataRequest.Sorted != null)
            {
                SortCondition CurrentSortCondition = dataRequest.Sorted;
                switch (CurrentSortCondition.Id)
                {
                case (int)MailQueueSortEnum.CreatedAtDescending:
                    DataSource = DataSource.OrderByDescending(x => x.CreatedAt);
                    break;

                case (int)MailQueueSortEnum.CreatedAtAscending:
                    DataSource = DataSource.OrderBy(x => x.CreatedAt);
                    break;

                default:
                    DataSource = DataSource.OrderBy(x => x.Id);
                    break;
                }
            }
            #endregion

            #region 進行分頁
            // 取得記錄總數量,將要用於分頁元件面板使用
            result.Count = DataSource.Cast <MailQueue>().Count();
            DataSource   = DataSource.Skip(dataRequest.Skip);
            if (dataRequest.Take != 0)
            {
                DataSource = DataSource.Take(dataRequest.Take);
            }
            #endregion

            #region 在這裡進行取得資料與與額外屬性初始化
            List <MailQueueAdapterModel> adapterModelObjects =
                Mapper.Map <List <MailQueueAdapterModel> >(DataSource);

            foreach (var adapterModelItem in adapterModelObjects)
            {
                await OhterDependencyData(adapterModelItem);
            }
            #endregion

            result.Result = adapterModelObjects;
            await Task.Yield();

            return(result);
        }
        public async Task <DataRequestResult <TravelExpenseAdapterModel> > GetAsync(DataRequest dataRequest)
        {
            List <TravelExpenseAdapterModel> data = new List <TravelExpenseAdapterModel>();
            DataRequestResult <TravelExpenseAdapterModel> result = new DataRequestResult <TravelExpenseAdapterModel>();
            var DataSource = context.TravelExpense
                             .AsNoTracking()
                             .Include(x => x.MyUser)
                             .AsQueryable();

            #region 進行搜尋動作
            if (!string.IsNullOrWhiteSpace(dataRequest.Search))
            {
                DataSource = DataSource
                             .Where(x => x.MyUser.Name.Contains(dataRequest.Search));
            }
            #endregion

            #region 進行排序動作
            if (dataRequest.Sorted != null)
            {
                SortCondition CurrentSortCondition = dataRequest.Sorted;
                switch (CurrentSortCondition.Id)
                {
                case (int)TravelExpenseSortEnum.ApplyDateDescending:
                    DataSource = DataSource.OrderByDescending(x => x.ApplyDate);
                    break;

                case (int)TravelExpenseSortEnum.ApplyDateAscending:
                    DataSource = DataSource.OrderBy(x => x.ApplyDate);
                    break;

                default:
                    DataSource = DataSource.OrderBy(x => x.Id);
                    break;
                }
            }
            #endregion

            #region 進行分頁
            // 取得記錄總數量,將要用於分頁元件面板使用
            result.Count = DataSource.Cast <TravelExpense>().Count();
            DataSource   = DataSource.Skip(dataRequest.Skip);
            if (dataRequest.Take != 0)
            {
                DataSource = DataSource.Take(dataRequest.Take);
            }
            #endregion

            #region 在這裡進行取得資料與與額外屬性初始化
            List <TravelExpenseAdapterModel> adapterModelObjects =
                Mapper.Map <List <TravelExpenseAdapterModel> >(DataSource);

            foreach (var adapterModelItem in adapterModelObjects)
            {
                await OhterDependencyData(adapterModelItem);
            }
            #endregion

            result.Result = adapterModelObjects;
            await Task.Yield();

            return(result);
        }
 /** button点击事件 */
 public void buttonEventBase(GameObject gameObj)
 {
     if (gameObj.name == "buttonLocked")
     {
         StarSoulManager.Instance.clearLockStateDic();
         contentNumItem.SetActive(false);
         chooseDescItem.SetActive(true);
         if (buttonExChangeExp != null)
         {
             buttonExChangeExp.gameObject.SetActive(false);
         }
         if (buttonLocked != null)
         {
             buttonLocked.gameObject.SetActive(false);
         }
         buttonConfirmExchangeExp.gameObject.SetActive(false);
         buttonOneKeyExp.gameObject.SetActive(false);
         buttonCancel.gameObject.SetActive(true);
         if (buttonConfirmLocked != null)
         {
             buttonConfirmLocked.gameObject.SetActive(true);
         }
         chooseDescLabel.text = LanguageConfigManager.Instance.getLanguage("StarSoulWindow_storeContent_lockDesc");
         content.setIntoType(ButtonStoreStarSoul.ButtonStateType.Lock);
         content.updateVisibleItem();
         MaskWindow.UnlockUI();
     }
     else if (gameObj.name == "buttonExChangeExp")
     {
         StarSoulManager.Instance.clearChangeExpStateDic();
         contentNumItem.SetActive(false);
         chooseDescItem.SetActive(true);
         if (buttonExChangeExp != null)
         {
             buttonExChangeExp.gameObject.SetActive(false);
         }
         if (buttonLocked != null)
         {
             buttonLocked.gameObject.SetActive(false);
         }
         buttonConfirmExchangeExp.gameObject.SetActive(true);
         buttonOneKeyExp.gameObject.SetActive(true);
         buttonCancel.gameObject.SetActive(true);
         if (buttonConfirmLocked != null)
         {
             buttonConfirmLocked.gameObject.SetActive(false);
         }
         chooseDescLabel.text = LanguageConfigManager.Instance.getLanguage("StarSoulWindow_storeContent_changeDesc");
         sc       = SortConditionManagerment.Instance.getConditionsByKey(SiftWindowType.SIFT_STARSOULSTORE_WINDOW);
         moveTpye = EquipStateType.OCCUPY;
         content.setIntoType(ButtonStoreStarSoul.ButtonStateType.CHANGE);
         stateType = ButtonStoreStarSoul.ButtonStateType.CHANGE;
         updateContent();
         MaskWindow.UnlockUI();
     }
     else if (gameObj.name == "buttonConfirmLocked")
     {
         DoLocked();
     }
     else if (gameObj.name == "buttonConfirmExchangeExp")
     {
         DoExchangeExp();
     }
     else if (gameObj.name == "buttonCancel")
     {
         StarSoulManager.Instance.cleanDic();
         content.setIntoType(ButtonStoreStarSoul.ButtonStateType.Power);
         stateType = ButtonStoreStarSoul.ButtonStateType.Power;
         resetButton();
         updateContent();
         //UpdateUI();
         MaskWindow.UnlockUI();
     }
     else if (gameObj.name == "buttonOneKeyExp")
     {
         if (GameManager.Instance.isShowStarSoulOneKeySelect)
         {
             UiManager.Instance.openDialogWindow <StarSoulOneKeySelectWindow>((win) => {
                 win.callback = oneKeySelectCallback;
                 win.init();
             });
         }
         else
         {
             oneKeySelectCallback();
             MaskWindow.UnlockUI();
         }
     }
     else
     {
         MaskWindow.UnlockUI();
     }
 }
        /// <summary>
        /// 把<see cref="IOrderedEnumerable{T}"/>集合继续指定字段排序方式进行排序
        /// </summary>
        /// <typeparam name="T">动态类型</typeparam>
        /// <param name="source">要排序的数据集</param>
        /// <param name="sortCondition">列表字段排序条件</param>
        /// <returns></returns>
        public static IOrderedEnumerable <T> ThenBy <T>(this IOrderedEnumerable <T> source, SortCondition sortCondition)
        {
            source.CheckNotNull("source");
            sortCondition.CheckNotNull("sortCondition");

            return(source.ThenBy(sortCondition.SortField, sortCondition.ListSortDirection));
        }
        public List <BaseUserRoleMapDto> GetPageList(List <QueryBuilder> queryBuliders, SortCondition sort, int intPageSize, int intCurrentIndex, out int total)
        {
            // throw new NotImplementedException();

            var BaseUserRoleMapDtoList = Mapper.Map <List <BaseUserRoleMap>, List <BaseUserRoleMapDto> >(repository.QueryPage(queryBuliders, sort, intPageSize, intCurrentIndex, out total));

            return(BaseUserRoleMapDtoList);
        }
 public List <BaseUsersDto> GetPageList(string sql, SortCondition sort, int intPageSize, int intCurrentIndex, out int total)
 {
     throw new NotImplementedException();
 }
        public async Task <DataRequestResult <CategorySubAdapterModel> > GetByHeaderIDAsync(int id, DataRequest dataRequest)
        {
            List <CategorySubAdapterModel> data = new();
            DataRequestResult <CategorySubAdapterModel> result = new();
            var DataSource = context.CategorySub
                             .AsNoTracking()
                             .Include(x => x.CategoryMain)
                             .Where(x => x.CategoryMainId == id);

            #region 進行搜尋動作
            if (!string.IsNullOrWhiteSpace(dataRequest.Search))
            {
                DataSource = DataSource
                             .Where(x => x.Name.Contains(dataRequest.Search) ||
                                    x.CategoryMain.Name.Contains(dataRequest.Search));
            }
            #endregion

            #region 進行排序動作
            if (dataRequest.Sorted != null)
            {
                SortCondition CurrentSortCondition = dataRequest.Sorted;
                switch (CurrentSortCondition.Id)
                {
                case (int)CategorySubSortEnum.NameDescending:
                    DataSource = DataSource.OrderByDescending(x => x.Name);
                    break;

                case (int)CategorySubSortEnum.NameAscending:
                    DataSource = DataSource.OrderBy(x => x.Name);
                    break;

                case (int)CategorySubSortEnum.OrderNumberDescending:
                    DataSource = DataSource.OrderByDescending(x => x.OrderNumber);
                    break;

                case (int)CategorySubSortEnum.OrderNumberAscending:
                    DataSource = DataSource.OrderBy(x => x.OrderNumber);
                    break;

                case (int)CategorySubSortEnum.EnableDescending:
                    DataSource = DataSource.OrderByDescending(x => x.Enable);
                    break;

                case (int)CategorySubSortEnum.EnableAscending:
                    DataSource = DataSource.OrderBy(x => x.Enable);
                    break;

                default:
                    DataSource = DataSource.OrderBy(x => x.Name);
                    break;
                }
            }
            #endregion

            #region 進行分頁
            // 取得記錄總數量,將要用於分頁元件面板使用
            result.Count = DataSource.Cast <CategorySub>().Count();
            DataSource   = DataSource.Skip(dataRequest.Skip);
            if (dataRequest.Take != 0)
            {
                DataSource = DataSource.Take(dataRequest.Take);
            }
            #endregion

            #region 在這裡進行取得資料與與額外屬性初始化
            List <CategorySubAdapterModel> adapterModelObjects =
                Mapper.Map <List <CategorySubAdapterModel> >(DataSource);

            foreach (var adapterModelItem in adapterModelObjects)
            {
                await OhterDependencyData(adapterModelItem);
            }
            #endregion

            result.Result = adapterModelObjects;
            await Task.Yield();

            return(result);
        }
        private static void PopulateAutoFilter(XLAutoFilter xlAutoFilter, AutoFilter autoFilter)
        {
            var filterRange = xlAutoFilter.Range;
            autoFilter.Reference = filterRange.RangeAddress.ToString();

            foreach (var kp in xlAutoFilter.Filters)
            {
                var filterColumn = new FilterColumn {ColumnId = (UInt32)kp.Key - 1};
                var xlFilterColumn = xlAutoFilter.Column(kp.Key);
                var filterType = xlFilterColumn.FilterType;
                if (filterType == XLFilterType.Custom)
                {
                    var customFilters = new CustomFilters();
                    foreach (var filter in kp.Value)
                    {
                        var customFilter = new CustomFilter {Val = filter.Value.ToString()};

                        if (filter.Operator != XLFilterOperator.Equal)
                            customFilter.Operator = filter.Operator.ToOpenXml();

                        if (filter.Connector == XLConnector.And)
                            customFilters.And = true;

                        customFilters.Append(customFilter);
                    }
                    filterColumn.Append(customFilters);
                }
                else if (filterType == XLFilterType.TopBottom)
                {
                    var top101 = new Top10 {Val = (double)xlFilterColumn.TopBottomValue};
                    if (xlFilterColumn.TopBottomType == XLTopBottomType.Percent)
                        top101.Percent = true;
                    if (xlFilterColumn.TopBottomPart == XLTopBottomPart.Bottom)
                        top101.Top = false;

                    filterColumn.Append(top101);
                }
                else if (filterType == XLFilterType.Dynamic)
                {
                    var dynamicFilter = new DynamicFilter
                    {Type = xlFilterColumn.DynamicType.ToOpenXml(), Val = xlFilterColumn.DynamicValue};
                    filterColumn.Append(dynamicFilter);
                }
                else
                {
                    var filters = new Filters();
                    foreach (var filter in kp.Value)
                    {
                        filters.Append(new Filter {Val = filter.Value.ToString()});
                    }

                    filterColumn.Append(filters);
                }
                autoFilter.Append(filterColumn);
            }


            if (xlAutoFilter.Sorted)
            {
                var sortState = new SortState
                {
                    Reference =
                        filterRange.Range(filterRange.FirstCell().CellBelow(), filterRange.LastCell()).RangeAddress.
                            ToString()
                };
                var sortCondition = new SortCondition
                {
                    Reference =
                        filterRange.Range(1, xlAutoFilter.SortColumn, filterRange.RowCount(),
                            xlAutoFilter.SortColumn).RangeAddress.ToString()
                };
                if (xlAutoFilter.SortOrder == XLSortOrder.Descending)
                    sortCondition.Descending = true;

                sortState.Append(sortCondition);
                autoFilter.Append(sortState);
            }
        }
    public override void buttonEventBase(GameObject gameObj)
    {
        base.buttonEventBase(gameObj);
        if (gameObj.name == "buttonLearn")
        {
            fatherWindow.finishWindow();
            UiManager.Instance.openWindow <SkillChooseWindow>((win) => {
                win.Initialize(mainRole.card, food.card, castMoney.text, SkillChooseWindow.TYPE_SKILLLEARN);
            });
            //这里不提前关闭的话,进化回来按钮显示有bug
            buttonCancelSift.gameObject.SetActive(false);
        }
        if (gameObj.name == "buttonSift")
        {
            UiManager.Instance.openWindow <SiftCardWindow>((scw) => {
                siftWindow = scw;
                if (mainRole.card == null)
                {
                    scw.Initialize(null, SiftCardWindow.LEARNINGSKILLWINDOWONE, SiftWindowType.SIFT_CARDCHOOSE_WINDOW);
                }
                else
                {
                    scw.Initialize(null, SiftCardWindow.LEARNINGSKILLWINDOWTWO, SiftWindowType.SIFT_CARDCHOOSE_WINDOW);
                }
                fatherWindow.finishWindow();
            });
        }
        if (gameObj.name == "close")
        {
            destoryWindow();
            if (siftWindow != null)
            {
                siftWindow.destoryWindow();
            }

            if (callback != null)
            {
                callback();
            }
            else
            {
                UiManager.Instance.openMainWindow();
            }
        }
        if (gameObj.name == "cancelSift")
        {
            buttonSift.textLabel.text = LanguageConfigManager.Instance.getLanguage("s0016");
            buttonSift.name           = "buttonSift";
//			cleanSortCondition ();
            SortCondition sc   = SortConditionManagerment.Instance.getConditionsByKey(SiftWindowType.SIFT_CARDCHOOSE_WINDOW);
            ArrayList     list = SortManagerment.Instance.cardSort(StorageManagerment.Instance.getAllRole(), sc);
            content.reLoad(list);
        }

        if (gameObj.name == "buttonCancelSift")
        {
//			cleanSortCondition ();
            SortCondition sc = SortConditionManagerment.Instance.getConditionsByKey(SiftWindowType.SIFT_CARDCHOOSE_WINDOW);
            Initialize(true);
            //最后把按钮隐藏了
            gameObj.SetActive(false);
        }
    }