Ejemplo n.º 1
0
        /// <summary>
        /// 生成上一页或下一页的 URI(视频P35)
        /// </summary>
        /// <param name="parameters"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        private string CreateCompaniesResourceUri(CompanyDtoParameters parameters,
                                                  ResourceUnType type)
        {
            switch (type)
            {
            case ResourceUnType.PreviousPage:     //上一页
                return(Url.Link(
                           //API 名
                           nameof(GetCompanies),
                           //Uri Query 字符串参数
                           new
                {
                    pageNumber = parameters.PageNumber - 1,
                    pageSize = parameters.PageSize,
                    companyName = parameters.companyName,
                    searchTerm = parameters.SearchTerm,
                    orderBy = parameters.OrderBy,       //排序(视频P38)
                    fields = parameters.Fields          //数据塑形(视频P39)
                }));;

            case ResourceUnType.NextPage:     //下一页
                return(Url.Link(
                           nameof(GetCompanies),
                           new
                {
                    pageNumber = parameters.PageNumber + 1,
                    pageSize = parameters.PageSize,
                    companyName = parameters.companyName,
                    searchTerm = parameters.SearchTerm,
                    orderBy = parameters.OrderBy,
                    fields = parameters.Fields
                }));

            default:     //当前页
                return(Url.Link(
                           nameof(GetCompanies),
                           new
                {
                    pageNumber = parameters.PageNumber,
                    pageSize = parameters.PageSize,
                    companyName = parameters.companyName,
                    searchTerm = parameters.SearchTerm,
                    orderBy = parameters.OrderBy,
                    fields = parameters.Fields
                }));
            }
        }
        //[HttpDelete("storageListId",Name = nameof(DeleteStorageList))]
        //public async Task<IActionResult> DeleteStorageList(Guid storageListId)
        //{
        //    var entity = await _storageListRepository.GetStorageListAsync(storageListId);
        //    if(entity == null)
        //    {
        //        return NotFound();
        //    }
        //    _storageListRepository.DeleteStorageList(entity);
        //    _storageListRepository.SaveAsync();
        //    return NoContent();

        //}

        //[HttpOptions]
        //public IActionResult GetStorageListOptions()
        //{
        //    Response.Headers.Add("Allow", "DELETE,GET,PATCH,PUT,OPTIONS");
        //    return Ok();
        //}
        //前后页码的uri也需要查询条件,因为是根据原本的查询条件做的分页
        private string CreateStorageListResourceUri(StorageListDtoParameters parameters,
                                                    ResourceUnType type)
        {
            switch (type)
            {
            case ResourceUnType.PreviousPage:     //上一页
                return(Url.Link(
                           nameof(GetPagedStorageLists),
                           new
                {
                    pageNumber = parameters.PageNumber - 1,
                    pageSize = parameters.PageSize,
                    storageListNum = parameters.StorageListNum,
                    searchTerm = parameters.SearchTerm
                }));

            case ResourceUnType.NextPage:     //下一页
                return(Url.Link(
                           nameof(GetPagedStorageLists),
                           new
                {
                    pageNumber = parameters.PageNumber + 1,
                    pageSize = parameters.PageSize,
                    storageListNum = parameters.StorageListNum,
                    searchTerm = parameters.SearchTerm
                }));

            default:     //当前页
                return(Url.Link(
                           nameof(GetPagedStorageLists),
                           new
                {
                    pageNumber = parameters.PageNumber,
                    pageSize = parameters.PageSize,
                    storageListNum = parameters.StorageListNum,
                    searchTerm = parameters.SearchTerm
                }));
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 生成上一页或下一页的 URI(视频P35)
        /// </summary>
        /// <param name="parameters"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        private string CreateCompaniesResourceUri(CompanyDtoParameters parameters,
                                                  ResourceUnType type)
        {
            switch (type)
            {
            case ResourceUnType.PreviousPage:     //上一页
                return(Url.Link(
                           nameof(GetCompanies),
                           new
                {
                    pageNumber = parameters.PageNumber - 1,
                    pageSize = parameters.PageSize,
                    companyName = parameters.companyName,
                    searchTerm = parameters.SearchTerm
                }));

            case ResourceUnType.NextPage:     //下一页
                return(Url.Link(
                           nameof(GetCompanies),
                           new
                {
                    pageNumber = parameters.PageNumber + 1,
                    pageSize = parameters.PageSize,
                    companyName = parameters.companyName,
                    searchTerm = parameters.SearchTerm
                }));

            default:     //当前页
                return(Url.Link(
                           nameof(GetCompanies),
                           new
                {
                    pageNumber = parameters.PageNumber,
                    pageSize = parameters.PageSize,
                    companyName = parameters.companyName,
                    searchTerm = parameters.SearchTerm
                }));
            }
        }