Esempio n. 1
0
        private string GenerateDrinkResourceURL(DrinkParameters drinkParameters, PaginationParameters paginationParameters, ResourceUriType type)
        {
            var pageNumber = paginationParameters.PageNumber;

            switch (type)
            {
            case ResourceUriType.PreviousPage:
                pageNumber--;
                break;

            case ResourceUriType.NextPage:
                pageNumber++;
                break;

            case ResourceUriType.CurrentPage:
            default:
                break;
            }

            return(_urlHelper.Link("GetDrinks", new
            {
                keyword = drinkParameters.Keyword,
                country = drinkParameters.Country,
                brand = drinkParameters.Brand,
                type = drinkParameters.Type,
                priceOperator = drinkParameters.PriceOperator,
                priceValue = drinkParameters.PriceValue,
                fields = drinkParameters.Fields,
                pageNumber,
                pageSize = paginationParameters.PageSize,
            }));
        }
Esempio n. 2
0
    public void Drink()
    {
        //finding an drinkable GO
        RaycastHit drinkHit;

        if (Physics.Raycast(playerHead.position, playerHead.forward, out drinkHit, range))
        {
            Debug.Log(drinkHit.transform.name + " with the " + drinkHit.transform.tag + " tag" + " got hit by the drink raycast");

            //the target of the Raycast gives health
            DrinkParameters target = drinkHit.transform.GetComponent <DrinkParameters>();
            if (target != null)
            {
                target.GiveDrinkHealth(healthFromDrink);
                Debug.Log("A drink gave " + healthFromDrink + " health");
            }
        }
    }
Esempio n. 3
0
        public async Task <IActionResult> GetDrinks([FromQuery] DrinkParameters drinkParameters, [FromQuery] PaginationParameters paginationParameters)
        {
            var drinksFromRepo = await _drinkRepository.GetDrinksAsync(
                drinkParameters.Keyword,
                drinkParameters.Country,
                drinkParameters.Brand,
                drinkParameters.Type,
                drinkParameters.PriceOperator,
                drinkParameters.PriceValue,
                drinkParameters.OrderBy,
                paginationParameters.PageNumber,
                paginationParameters.PageSize);

            if (drinksFromRepo.Count() <= 0)
            {
                return(NotFound("Drinks not found."));
            }

            var previousLink = drinksFromRepo.HasPrevious ? GenerateDrinkResourceURL(drinkParameters, paginationParameters, ResourceUriType.PreviousPage) : null;
            var nextLink     = drinksFromRepo.HasNext ? GenerateDrinkResourceURL(drinkParameters, paginationParameters, ResourceUriType.NextPage) : null;

            var paginationMetaData = new
            {
                previousLink,
                nextLink,
                totalCount  = drinksFromRepo.TotalCount,
                totalPages  = drinksFromRepo.TotalPages,
                pageSize    = drinksFromRepo.PageSize,
                currentPage = drinksFromRepo.CurrentPage
            };

            Response.Headers.Add("x-Pagination", Newtonsoft.Json.JsonConvert.SerializeObject(paginationMetaData));

            var drinkDto = _mapper.Map <DrinkDTO[]>(drinksFromRepo);

            var shapedData = drinkDto.ShapeData <DrinkDTO>(drinkParameters.Fields);

            return(Ok(shapedData));
        }