예제 #1
0
        public async Task <IEnumerable <DishLight> > GetAllDishes(int limit, int offset)
        {
            var dishResults = await m_queryExecutor.HandleAsync(new DishLightQuery { Limit = limit, Offset = offset });

            var dishes = new List <DishLight>();

            foreach (var dishResult in dishResults)
            {
                //TODO: Finn bedre løsning på sql spørring
                IEnumerable <TagResult> tags = await m_dishTagService.FindTagsForDish(dishResult.Id);

                dishes.Add(new DishLight
                {
                    Id          = dishResult.Id,
                    Name        = dishResult.Name,
                    Description = dishResult.Description,
                    Difficulty  = dishResult.Difficulty,
                    Duration    = dishResult.Duration,
                    Author      = dishResult.Author,
                    TimeAdded   = dishResult.TimeAdded,
                    Tags        = tags
                });
            }

            return(dishes);
        }
예제 #2
0
        public async Task <IEnumerable <DishLight> > Search(string parameter, int limit, int offset)
        {
            var dishes = new List <DishLight>();
            IEnumerable <DishLightResult> dishLightResult = await m_queryExecutor.HandleAsync(
                new SearchQuery
            {
                Parameter = "%" + parameter + "%",
                Limit     = limit,
                Offset    = offset
            }
                );

            foreach (var dishResult in dishLightResult)
            {
                IEnumerable <TagResult> tags = await m_dishTagService.FindTagsForDish(dishResult.Id);

                dishes.Add(new DishLight
                {
                    Id          = dishResult.Id,
                    Name        = dishResult.Name,
                    Description = dishResult.Description,
                    Difficulty  = dishResult.Difficulty,
                    Duration    = dishResult.Duration,
                    Author      = dishResult.Author,
                    TimeAdded   = dishResult.TimeAdded,
                    Tags        = tags
                });
            }
            return(dishes);
        }
예제 #3
0
        public async Task <IEnumerable <IngredientResult> > GetAllIngredients()
        {
            var result = await m_queryExecutor.HandleAsync(new IngredientQuery());

            return(result);
        }
예제 #4
0
        public async Task <IEnumerable <TagResult> > FindTagsForDish(int dishId)
        {
            var result = await m_queryExecutor.HandleAsync(new DishTagQuery { Id = dishId });

            return(result);
        }
예제 #5
0
        public async Task <IEnumerable <CW_Element> > Get(string documentTitle, string uniqueId)
        {
            var cwElement = await m_queryExecutor.HandleAsync(new ElementQuery { UniqueId = uniqueId, DocumentTitle = documentTitle });

            return(cwElement);
        }
예제 #6
0
        public async Task <CW_Document> Get(string documentTitle)
        {
            var result = await m_queryExecutor.HandleAsync(new DocumentQuery { Title = documentTitle });

            return(result);
        }
예제 #7
0
        public async Task <IEnumerable <CW_ElementMinimal> > GetMinimal(IEnumerable <string> documentTitles, IEnumerable <Filter> filters, IEnumerable <string> categoryNames, FilterType filterType)
        {
            var result = await m_queryExecutor.HandleAsync(new FilterMinimalQuery { DocumentTitles = documentTitles, Filters = filters, CategoryNames = categoryNames, FilterType = filterType });

            return(result);
        }
예제 #8
0
        public async Task <IEnumerable <CW_Category> > Get(IEnumerable <string> documentTitles, string idOrName, bool mustContainElements, IEnumerable <CW_CategoryType> categoryTypes)
        {
            var result = await m_queryExecutor.HandleAsync(new CategoryQuery { DocumentTitles = documentTitles, IdOrName = idOrName, MustContainElements = mustContainElements, categoryTypes = categoryTypes });

            return(result);
        }
예제 #9
0
        public async Task <IEnumerable <TagResult> > GetAllTags()
        {
            var result = await m_queryExecutor.HandleAsync(new TagQuery());

            return(result);
        }