public async Task <ActionResult <IngredientToReturnDto> > GetIngredient(int id) { var spec = new IngredientWithCategorySpecification(id); var ingredient = await _ingredientRepo.GetEntityWithSpec(spec); if (ingredient == null) { return(NotFound(new ApiResponse(404))); } return(_mapper.Map <Ingredient, IngredientToReturnDto>(ingredient)); }
public async Task <ActionResult <Pagination <IngredientToReturnDto> > > GetIngredient( [FromQuery] IngredientSpecParams ingredientParams) { var spec = new IngredientWithCategorySpecification(ingredientParams); var countSpec = new IngredientWithFiltersForCountSpecification(ingredientParams); var totalItems = await _ingredientRepo.CountAsync(countSpec); var ingredients = await _ingredientRepo.ListAsync(spec); var data = _mapper .Map <IReadOnlyList <Ingredient>, IReadOnlyList <IngredientToReturnDto> >(ingredients); return(Ok(new Pagination <IngredientToReturnDto>(ingredientParams.PageIndex, ingredientParams.PageSize, totalItems, data))); }