Example #1
0
        /// <summary>
        /// 根據店號、頁數、排序取得EC資料並顯示在畫面上
        /// </summary>
        /// <param name="storeNo">店號</param>
        /// <param name="page">目前頁次</param>
        /// <param name="sort">排序方式</param>
        /// <returns></returns>
        public async Task <IActionResult> GetAll(string storeNo, int page = 1, ECSort sort = ECSort.InDate)
        {
            ECListViewModel vm    = new ECListViewModel();
            StoreAndSort    param = new StoreAndSort
            {
                StoreNo = storeNo,
                Sort    = sort
            };

            //if(data==null || data.First().StoreNo != storeNo||eCSort!=sort)
            if (data == null || data.First().StoreNo != param.StoreNo || eCSort != param.Sort)
            {
                // eCSort = sort;
                eCSort = param.Sort;
                //data = await _ecRepo.GetECAsync(SD.ECChkAPIPath + "GetAll?storeno=" + storeNo, sort);
                data = await _ecRepo.GetECAsync(SD.ECChkAPIPath + "GetAll", param);
            }

            //放入EC資料至ViewModel
            vm.ECList = data.ToList();
            var count = vm.ECList.Count();

            //頁數資料
            vm.PagingInfo = new PagingInfo
            {
                CurrentPage  = page,
                ItemsPerPage = PageSize,
                TotalItems   = count,
                //eCSort = sort
                eCSort = param.Sort
            };
            //當頁顯示EC資料
            vm.ECList = vm.ECList.Skip((vm.PagingInfo.CurrentPage - 1) * PageSize).Take(PageSize).ToList();
            return(View(vm));
        }
Example #2
0
        /// <summary>
        /// 指定排序取得欲顯示的EC資料
        /// </summary>
        /// <param name="dtos">顯示於畫面的EC資料</param>
        /// <param name="sort">指定排序值</param>
        /// <returns>排序後的資料</returns>
        public ICollection <IFECCUTFDto> SortECData(List <IFECCUTFDto> dtos, ECSort sort)
        {
            List <IFECCUTFDto> result = new List <IFECCUTFDto>();
            //zh-TW 預設用筆劃排序 0x00000404、替代排序為注音 0x00030404
            CultureInfo           taiwanCulture  = new CultureInfo("zh-TW");
            CultureStringComparer comparerTaiwan = new CultureStringComparer(taiwanCulture, CompareOptions.None);

            switch (sort)
            {
            case ECSort.Name:
                result = dtos.OrderBy(a => a.Name, comparerTaiwan).ToList();
                break;

            case ECSort.CompanyName:
                result = dtos.OrderBy(a => a.CompanyName, comparerTaiwan).ToList();
                break;

            case ECSort.InDate:
                result = dtos.OrderByDescending(a => a.InDate).ThenBy(a => a.Name).ToList();
                break;

            case ECSort.State:
                result = dtos.OrderBy(a => a.State).ToList();
                break;

            //case ECSort.NewNumber:
            //    result = dtos.OrderBy(a => a.NewNumber).ToList();
            //    break;

            case ECSort.EndThreeYard:
                result = dtos.OrderBy(a => a.EndThreeYard).ToList();
                break;

            default:    //預設以進貨日期排序
                result = dtos.OrderBy(a => a.InDate).ToList();
                break;
            }

            //將頁面資料的溫層及狀態用中文顯示
            var data = ChangeName(result);

            return(data);
        }