Beispiel #1
0
        public async Task <IActionResult> GetOrders(
            [FromQuery] PaginationResourceParamaters paramaters)
        {
            // 1 获取当前用户
            var userId = _httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value;
            // 2 使用用户 ID 来获取订单历史记录
            var orders = await _touristRouteRepository.GetOrdersByUserId(userId, paramaters.PageSize, paramaters.PageNumber);

            return(Ok(_mapper.Map <IEnumerable <OrderDto> >(orders)));
        }
        public async Task <IActionResult> GetOrders(
            [FromQuery] PaginationResourceParamaters paramaters //分頁參數處理器
            )
        {
            //1.獲得當前用戶
            var userId = _httpContextAccessor
                         .HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value;

            //2.使用userId獲得訂單紀錄
            var orders = await _touristRouteRepository.GetOrdersByUserId(userId, paramaters.PageNumber, paramaters.PageSize);

            //3.return
            return(Ok(_mapper.Map <IEnumerable <OrderDto> >(orders)));
        }
Beispiel #3
0
 private string GenerateTouristRouteResourceURL(
     TouristRouteResourceParamaters parameters,
     PaginationResourceParamaters parameters2,
     ResourceUriType type
     )
 {
     return(type switch
     {
         ResourceUriType.PreviousPage => _urlHelper.Link("GetTouristRoutes",
                                                         new
         {
             fields = parameters.Fields,
             orderBy = parameters.OrderBy,
             keyword = parameters.Keyword,
             rating = parameters.Rating,
             pageNumber = parameters2.PageNumber - 1,
             pageSize = parameters2.PageSize
         }),
         ResourceUriType.NextPage => _urlHelper.Link("GetTouristRoutes",
                                                     new
         {
             fields = parameters.Fields,
             orderBy = parameters.OrderBy,
             keyword = parameters.Keyword,
             rating = parameters.Rating,
             pageNumber = parameters2.PageNumber + 1,
             pageSize = parameters2.PageSize
         }),
         _ => _urlHelper.Link("GetTouristRoutes",
                              new
         {
             fields = parameters.Fields,
             orderBy = parameters.OrderBy,
             keyword = parameters.Keyword,
             rating = parameters.Rating,
             pageNumber = parameters2.PageNumber,
             pageSize = parameters2.PageSize
         }),
     });
 private string GeneratieTouristRouteResourceURL( //分頁導航
     TouristRouteResourceParamaters paramaters,
     PaginationResourceParamaters paramaters2,
     ResourceUrlType type
     )
 {
     return(type switch
     {
         //asp.net中urlhelp專門管理url,urlHelp裡面有個函數link來生成絕對路徑,而名稱就是在action 函數中http內定義的字串
         ResourceUrlType.PreviousPage => _urlHelper.Link("GetTouristRoutes",
                                                         new
         {
             fields = paramaters.Fields,
             orderBy = paramaters.OrderBy,
             keyword = paramaters.Keyword,
             rating = paramaters.Rating,
             pageNumber = paramaters2.PageNumber - 1,
             pageSize = paramaters2.PageSize
         }),
         ResourceUrlType.NextPage => _urlHelper.Link("GetTouristRoutes",
                                                     new
         {
             fields = paramaters.Fields,
             orderBy = paramaters.OrderBy,
             keyword = paramaters.Keyword,
             rating = paramaters.Rating,
             pageNumber = paramaters2.PageNumber + 1,
             pageSize = paramaters2.PageSize
         }),
         _ => _urlHelper.Link("GetTouristRoutes",
                              new
         {
             fields = paramaters.Fields,
             keyword = paramaters.Keyword,
             rating = paramaters.Rating,
             pageNumber = paramaters2.PageNumber,
             pageSize = paramaters2.PageSize
         })
     });