コード例 #1
0
        private string CreateTastingNotesResourceUri(
            TastingNotesResourceParameters tastingNotesResourceParameters,
            ETypeOfResourceUri type)
        {
            var linkProps = new ExpandoObject() as IDictionary <string, Object>;

            switch (type)
            {
            case ETypeOfResourceUri.PreviousPage:
                linkProps.Add("orderBy", tastingNotesResourceParameters.OrderBy);
                linkProps.Add("pageNumber", tastingNotesResourceParameters.PageNumber - 1);
                linkProps.Add("pageSize", tastingNotesResourceParameters.PageSize);
                linkProps.Add("searchQuery", tastingNotesResourceParameters.SearchQuery);

                return(Url.Link("GetTastingNotes", linkProps));

            case ETypeOfResourceUri.NextPage:
                linkProps.Add("orderBy", tastingNotesResourceParameters.OrderBy);
                linkProps.Add("pageNumber", tastingNotesResourceParameters.PageNumber + 1);
                linkProps.Add("pageSize", tastingNotesResourceParameters.PageSize);
                linkProps.Add("searchQuery", tastingNotesResourceParameters.SearchQuery);

                return(Url.Link("GetTastingNotes", linkProps));

            case ETypeOfResourceUri.Current:
            default:
                linkProps.Add("orderBy", tastingNotesResourceParameters.OrderBy);
                linkProps.Add("pageNumber", tastingNotesResourceParameters.PageNumber);
                linkProps.Add("pageSize", tastingNotesResourceParameters.PageSize);
                linkProps.Add("searchQuery", tastingNotesResourceParameters.SearchQuery);

                return(Url.Link("GetTastingNotes", linkProps));
            }
        }
コード例 #2
0
        private string CreateWaterProfilesResourceUri(
            WaterProfileResourceParameters waterProfileResourceParameters,
            ETypeOfResourceUri type)
        {
            switch (type)
            {
            case ETypeOfResourceUri.PreviousPage:
                return(Url.Link("GetWaterProfiles", new
                {
                    orderBy = waterProfileResourceParameters.OrderBy,
                    pageNumber = waterProfileResourceParameters.PageNumber - 1,
                    pageSize = waterProfileResourceParameters.PageSize,
                    searchQuery = waterProfileResourceParameters.SearchQuery
                }));

            case ETypeOfResourceUri.NextPage:
                return(Url.Link("GetWaterProfiles", new
                {
                    orderBy = waterProfileResourceParameters.OrderBy,
                    pageNumber = waterProfileResourceParameters.PageNumber + 1,
                    pageSize = waterProfileResourceParameters.PageSize,
                    searchQuery = waterProfileResourceParameters.SearchQuery
                }));

            case ETypeOfResourceUri.Current:
            default:
                return(Url.Link("GetWaterProfiles", new
                {
                    orderBy = waterProfileResourceParameters.OrderBy,
                    pageNumber = waterProfileResourceParameters.PageNumber,
                    pageSize = waterProfileResourceParameters.PageSize,
                    searchQuery = waterProfileResourceParameters.SearchQuery
                }));
            }
        }
コード例 #3
0
        private string CreateBrewResourceUri(
            BrewsResourceParameters brewsResourceParameters,
            ETypeOfResourceUri type)
        {
            var linkProps = new ExpandoObject() as IDictionary <string, Object>;

            if (brewsResourceParameters.MinRating > 0)
            {
                linkProps.Add("minRating", brewsResourceParameters.MinRating);
            }

            switch (type)
            {
            case ETypeOfResourceUri.PreviousPage:
                linkProps.Add("orderBy", brewsResourceParameters.OrderBy);
                linkProps.Add("pageNumber", brewsResourceParameters.PageNumber - 1);
                linkProps.Add("pageSize", brewsResourceParameters.PageSize);
                linkProps.Add("searchQuery", brewsResourceParameters.SearchQuery);

                return(Url.Link("GetBrews", linkProps));

            case ETypeOfResourceUri.NextPage:
                linkProps.Add("orderBy", brewsResourceParameters.OrderBy);
                linkProps.Add("pageNumber", brewsResourceParameters.PageNumber + 1);
                linkProps.Add("pageSize", brewsResourceParameters.PageSize);
                linkProps.Add("searchQuery", brewsResourceParameters.SearchQuery);

                return(Url.Link("GetBrews", linkProps));

            case ETypeOfResourceUri.Current:
            default:
                linkProps.Add("orderBy", brewsResourceParameters.OrderBy);
                linkProps.Add("pageNumber", brewsResourceParameters.PageNumber);
                linkProps.Add("pageSize", brewsResourceParameters.PageSize);
                linkProps.Add("searchQuery", brewsResourceParameters.SearchQuery);

                return(Url.Link("GetBrews", linkProps));
            }
        }
コード例 #4
0
        private string CreateRecipesResourceUri(
            RecipesResourceParameters recipesResourceParameters,
            ETypeOfResourceUri type)
        {
            var linkProps = new ExpandoObject() as IDictionary <string, Object>;

            if (Enum.IsDefined(typeof(ETypeOfBeer), recipesResourceParameters.BeerType))
            {
                linkProps.Add("beerType", recipesResourceParameters.BeerType);
            }

            switch (type)
            {
            case ETypeOfResourceUri.PreviousPage:
                linkProps.Add("orderBy", recipesResourceParameters.OrderBy);
                linkProps.Add("pageNumber", recipesResourceParameters.PageNumber - 1);
                linkProps.Add("pageSize", recipesResourceParameters.PageSize);
                linkProps.Add("searchQuery", recipesResourceParameters.SearchQuery);

                return(Url.Link("GetBrews", linkProps));

            case ETypeOfResourceUri.NextPage:
                linkProps.Add("orderBy", recipesResourceParameters.OrderBy);
                linkProps.Add("pageNumber", recipesResourceParameters.PageNumber + 1);
                linkProps.Add("pageSize", recipesResourceParameters.PageSize);
                linkProps.Add("searchQuery", recipesResourceParameters.SearchQuery);

                return(Url.Link("GetBrews", linkProps));

            case ETypeOfResourceUri.Current:
            default:
                linkProps.Add("orderBy", recipesResourceParameters.OrderBy);
                linkProps.Add("pageNumber", recipesResourceParameters.PageNumber);
                linkProps.Add("pageSize", recipesResourceParameters.PageSize);
                linkProps.Add("searchQuery", recipesResourceParameters.SearchQuery);

                return(Url.Link("GetBrews", linkProps));
            }
        }