public async Task <IActionResult> AvailableItems([FromQuery] long mealId)
        {
            try
            {
                List <Item> items = null;

                if (mealId == 0)
                {
                    items = repositoryFactory.ItemRepository().All();
                }
                else
                {
                    var request = new HttpRequestMessage(HttpMethod.Get, $"meals/{mealId}");

                    var client = clientFactory.CreateClient("gfmm");

                    var clientResponse = await client.SendAsync(request);

                    if (clientResponse.StatusCode == HttpStatusCode.NotFound)
                    {
                        return(NotFound(null));
                    }

                    var responsePayload = await clientResponse.Content.ReadAsStreamAsync();;

                    JsonSerializerOptions deserializationOptions = new JsonSerializerOptions();
                    deserializationOptions.PropertyNameCaseInsensitive = true;

                    GetDetailedMealInformationModelView meal = await JsonSerializer.DeserializeAsync <GetDetailedMealInformationModelView>(responsePayload, deserializationOptions);

                    MealID mealIdVO = MealID.ValueOf(meal.Designation);

                    items = repositoryFactory.ItemRepository().All().Where((item) => item.MealId.Equals(mealIdVO)).ToList();
                }

                if (items.Count == 0)
                {
                    return(NotFound(null));
                }

                GetAvailableItemsModelView modelview = new GetAvailableItemsModelView(items);

                return(Ok(modelview));
            }
            catch (Exception databaseException)
            {
                // TODO: Log exception
                return(StatusCode(500, null));
            }
        }
        public IActionResult AvailableItems()
        {
            try
            {
                List <Item> items = factory.ItemRepository().All();

                if (items.Count == 0)
                {
                    return(NotFound(null));
                }

                GetAvailableItemsModelView modelview = new GetAvailableItemsModelView(items);

                return(Ok(modelview));
            }
            catch (Exception databaseException)
            {
                // TODO: Log exception
                return(StatusCode(500, null));
            }
        }