コード例 #1
0
        private List <LookupKeyValue> Categories(CategorySuggestionViewModel model)
        {
            var query = Repository.AsQueryable <Models.Category>().Where(c => !c.CategoryTree.IsDeleted && !c.IsDeleted);

            if (!string.IsNullOrEmpty(model.CategoryTreeForKey))
            {
                query = query.Where(c => c.CategoryTree.AvailableFor.Any(e => e.CategorizableItem.Name == model.CategoryTreeForKey));
            }
            var allCategories     = query.ToList();
            var treeLikePlainList = new List <LookupKeyValue>();

            ConstructTreeLike(
                treeLikePlainList,
                string.Empty,
                allCategories.Where(c => c.ParentCategory == null).OrderBy(c => c.DisplayOrder).ToList(),
                allCategories,
                model.Query);
            return(treeLikePlainList);
        }
コード例 #2
0
        /// <summary>
        /// Executes this command.
        /// </summary>
        /// <param name="model">The model.</param>
        /// <returns>
        /// A list of tags.
        /// </returns>
        public List <LookupKeyValue> Execute(CategorySuggestionViewModel model)
        {
            // TODO: #1210
            // return Categories(model);
            var query = Repository.AsQueryable <Models.Category>()
                        .Where(category => category.Name.Contains(model.Query));

            if (model.ExistingItemsArray.Length > 0)
            {
                query = query.Where(category => !model.ExistingItems.Contains(category.Id.ToString().ToUpper()));
            }

            if (!string.IsNullOrEmpty(model.CategoryTreeForKey))
            {
                query = query.Where(c => !c.CategoryTree.IsDeleted && c.CategoryTree.AvailableFor.Any(e => e.CategorizableItem.Name == model.CategoryTreeForKey));
            }

            return(query.OrderBy(category => category.Name)
                   .Select(category => new LookupKeyValue {
                Key = category.Id.ToString(), Value = category.Name
            })
                   .ToList());
        }
コード例 #3
0
        public ActionResult SuggestCategories(CategorySuggestionViewModel model)
        {
            var suggestedTags = GetCommand <SearchCategoriesCommand>().ExecuteCommand(model);

            return(Json(new { suggestions = suggestedTags }));
        }