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