public async Task <PagingList <UserOrder> > GetUserOrdersByUidAsync(string uid, PagingRequestParam pagingRequestParam)
        {
            var queryable = FakeContext.userOrders
                            .Where(xt => xt.UserID == uid);

            return(await PagingList <UserOrder> .CreatePagelistAsync(pagingRequestParam.PageNumber, pagingRequestParam.PageSize, queryable));
        }
        public async Task <PagingList <TouristRout> > GetTourisRoutsAsync(TouristRouteRequestParam touristRouteParam, PagingRequestParam pagingRequestParam)
        {
            IQueryable <TouristRout> resultQueryable = FakeContext.TouristRout
                                                       .Include(xt => xt.Pictures);

            if (!string.IsNullOrEmpty(touristRouteParam.TitleKeyWord))
            {
                resultQueryable = resultQueryable.Where(xt => xt.Title.Contains(touristRouteParam.TitleKeyWord));
            }
            if (touristRouteParam.RatingLogicType != LogicType.Null)
            {
                switch (touristRouteParam.RatingLogicType)
                {
                case LogicType.Null:
                    break;

                case LogicType.LessThen:
                    resultQueryable = resultQueryable.Where(xt => xt.Rating < touristRouteParam.RatingValue);
                    break;

                case LogicType.EqualTo:
                    resultQueryable = resultQueryable.Where(xt => xt.Rating == touristRouteParam.RatingValue);
                    break;

                case LogicType.LargeThen:
                    resultQueryable = resultQueryable.Where(xt => xt.Rating > touristRouteParam.RatingValue);
                    break;

                case LogicType.LessAndEqual:
                    resultQueryable = resultQueryable.Where(xt => xt.Rating <= touristRouteParam.RatingValue);
                    break;

                case LogicType.LargeAndEqual:
                    resultQueryable = resultQueryable.Where(xt => xt.Rating >= touristRouteParam.RatingValue);
                    break;

                default:
                    break;
                }
            }
            if (!string.IsNullOrEmpty(pagingRequestParam.OrderBy))
            {
                //if (pagingRequestParam.OrderBy.ToLowerInvariant()== "OriginalPrice".ToLowerInvariant())
                //{
                //    resultQueryable=resultQueryable.OrderBy(xt => xt.OriginalPrice);
                //}
                var touristRouteDic = propertyMappingServer.GetPropertyMapping <TouristRoutDTO, TouristRout>();
                resultQueryable = resultQueryable.ApplySort(pagingRequestParam.OrderBy, touristRouteDic);
            }
            return(await PagingList <TouristRout> .CreatePagelistAsync(pagingRequestParam.PageNumber, pagingRequestParam.PageSize, resultQueryable));
        }