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