示例#1
0
        // KeywordCategory Generics
        KeywordCategory SetupKeywordCategory()
        {
            KeywordCategory item = new KeywordCategory();

            item.CategoryId = 1;             // ensure?
            item.Name       = "RESTClient Test KeywordCategory";
            return(item);
        }
        private KeywordCategory CreateKeywordCategory(string keywordCategoryName)
        {
            KeywordCategory newKeywordCategory = new KeywordCategory()
            {
                CategoryId = 1,
                Name       = keywordCategoryName
            };

            return(Migration.Conn.SendObject <KeywordCategory>(newKeywordCategory, true));
        }
        // Creates a Keyword Category
        public KeywordCategory CreateKeywordCategory(int categoryId)
        {
            Console.Write("Creating Keyword Category: ");
            KeywordCategory keywordCategoryItem = new KeywordCategory();

            keywordCategoryItem.CategoryId = categoryId;
            keywordCategoryItem.Name       = this.test_id;
            KeywordCategory resp = this.conn.SendObject <KeywordCategory>(keywordCategoryItem, true);

            Console.WriteLine(resp.Id);
            return(resp);
        }
示例#4
0
 bool CompareKeywordCategory(KeywordCategory first, KeywordCategory second)
 {
     if (first.Id != second.Id)
     {
         return(false);
     }
     if (first.Name != second.Name)
     {
         return(false);
     }
     return(true);
 }
示例#5
0
        /// <summary>
        /// 获取关键字是否在指定的类别中
        /// </summary>
        /// <param name="raw">关键字的字符串形式</param>
        /// <param name="category">查询的关键字类别</param>
        /// <returns>如果关键字在<paramref name="category"/>类别中,返回true,否则false</returns>
        public bool IsInCategory(string raw, KeywordCategory category)
        {
            switch (category)
            {
            case KeywordCategory.TypeKeyword:
                return(m_TypeKeywords.ContainsKey(raw));

            case KeywordCategory.StructModifier:
                return(m_StructModifierKeywords.ContainsKey(raw));

            default:
                return(m_OtherKeywords.ContainsKey(raw));
            }
        }
        // Initiates the test
        public void init()
        {
            Category projectCategory = GetProjectCategoryId();

            ProjectKeywordCategory projectKeywordCategory = CreateProjectKeywordCategory();
            ProjectKeyword         projectKeyword         = CreateProjectKeyword(projectKeywordCategory.Id);

            Field projectField = CreateField("project");
            Field imageField   = CreateField("image");

            Project project = CreateProject(projectKeyword, projectField);

            KeywordCategory keywordCategory = CreateKeywordCategory(projectCategory.Id);
            Keyword         keyword         = CreateKeyword(keywordCategory.Id);

            Photographer photographer = CreatePhotographer();
            AccessLevel  accessLevel  = GetRandomAccessLevel();

            CopyrightPolicy copyrightPolicy = CreateCopyrightPolicy();
            CopyrightHolder copyrightHolder = CreateCopyrightHolder(copyrightPolicy.Id);

            File file = UploadFile(projectCategory, project, imageField, keyword, photographer, accessLevel, copyrightHolder);

            Album album       = CreateAlbum(file);
            bool  isHeroImage = AttachHeroImage(file, project);

            List <Search> searches = CreateSearches(file, keywordCategory, keyword, imageField, photographer, copyrightHolder, accessLevel, project, album);

            if (VerifySearches(searches, file))
            {
                BaseNoun[] nouns;
                if (superUser)
                {
                    nouns = new BaseNoun[] { file, photographer, copyrightHolder, copyrightPolicy, album, keyword, keywordCategory, imageField, projectField, projectKeyword, projectKeywordCategory, project };
                }
                else
                {
                    nouns = new BaseNoun[] { file, album, keyword, keywordCategory, imageField, projectField, projectKeyword, projectKeywordCategory, project };
                }

                if (this.deleteObjects)
                {
                    DeleteNouns(nouns);
                }
            }
        }
示例#7
0
        /// <summary>
        /// 注册一个关键字
        /// </summary>
        /// <param name="raw">关键字的字符串形式</param>
        /// <param name="type">关键字所属的标记类型</param>
        /// <param name="category">关键字的类别</param>
        protected void RegisterKeyword(string raw, TokenType type, KeywordCategory category)
        {
            switch (category)
            {
            case KeywordCategory.TypeKeyword:
                m_TypeKeywords.Add(raw, type);
                break;

            case KeywordCategory.StructModifier:
                m_StructModifierKeywords.Add(raw, type);
                break;

            default:
                m_OtherKeywords.Add(raw, type);
                break;
            }
        }
示例#8
0
        /// <summary>
        /// 尝试匹配关键字的标记类型
        /// </summary>
        /// <param name="raw">关键字的字符串形式</param>
        /// <param name="type">关键字的标记类型</param>
        /// <param name="category">关键字的类别</param>
        /// <returns>如果匹配成功,返回true,否则false</returns>
        public bool TryMatchKeyword(string raw, out TokenType type, out KeywordCategory category)
        {
            if (m_OtherKeywords.TryGetValue(raw, out type))
            {
                category = KeywordCategory.Other;
                return(true);
            }

            if (m_TypeKeywords.TryGetValue(raw, out type))
            {
                category = KeywordCategory.TypeKeyword;
                return(true);
            }

            if (m_StructModifierKeywords.TryGetValue(raw, out type))
            {
                category = KeywordCategory.StructModifier;
                return(true);
            }

            category = KeywordCategory.Other;
            return(false);
        }
        private void UpdateCategoriesSorting()
        {
            if (Model == null)
            {
                return;
            }
            KeywordCategory category = (KeywordCategory)((ImageComboBoxItem)this.cbSelectCategories.SelectedItem).Value;

            switch (category)
            {
            case KeywordCategory.Categorized:
                this.tlCategories.ParentFieldName = "ParentId";
                this.tlcText.FieldName            = "Text";
                this.tlAddCount.SortOrder         = SortOrder.None;
                this.tlcTimeStamp.SortOrder       = SortOrder.None;
                this.tlCategories.DataSource      = Model.GetTagNodeList(TagType);
                break;

            case KeywordCategory.MostAdded:
                this.tlcText.FieldName            = "Value";
                this.tlCategories.ParentFieldName = "";
                this.tlAddCount.SortOrder         = SortOrder.Descending;
                this.tlcTimeStamp.SortOrder       = SortOrder.None;
                this.tlCategories.DataSource      = Model.GetTagList(TagType);
                break;

            case KeywordCategory.RecentlyAdded:
                this.tlcText.FieldName            = "Value";
                this.tlCategories.ParentFieldName = "";
                this.tlAddCount.SortOrder         = SortOrder.None;
                this.tlcTimeStamp.SortOrder       = SortOrder.Descending;
                this.tlCategories.DataSource      = Model.GetTagList(TagType);
                break;
            }
            this.tlCategories.ExpandAll();
        }
        // Creates a list of Search objects to verify insertions
        public List <Search> CreateSearches(File file, KeywordCategory keywordCategory, Keyword keyword, Field field, Photographer photographer, CopyrightHolder copyrightHolder, AccessLevel accessLevel,
                                            Project project, Album album)
        {
            Console.WriteLine("Creating Searches");
            Search        search;
            SearchItem    searchItems;
            List <Search> searchList = new List <Search>();

            search              = new Search();
            searchItems         = new SearchItem();
            search.Saved        = false;
            search.Name         = this.test_id + "_Test_Search_Filename";
            searchItems.Code    = "filename";
            searchItems.Exclude = false;
            searchItems.Values.Add(file.Filename);
            search.SearchItems.Add(searchItems);
            searchList.Add(search);

            search              = new Search();
            searchItems         = new SearchItem();
            search.Saved        = false;
            search.Name         = this.test_id + "_Test_Search_Original_Filename";
            searchItems.Code    = "originalFilename";
            searchItems.Exclude = false;
            searchItems.Values  = new List <String>();
            searchItems.Values.Add(file.OriginalFilename);
            search.SearchItems.Add(searchItems);
            searchList.Add(search);

            search              = new Search();
            searchItems         = new SearchItem();
            search.Saved        = false;
            search.Name         = this.test_id + "_Test_Search_Caption";
            searchItems.Code    = "caption";
            searchItems.Exclude = false;
            searchItems.Values  = new List <String>();
            searchItems.Values.Add(file.Caption);
            search.SearchItems.Add(searchItems);
            searchList.Add(search);

            search              = new Search();
            searchItems         = new SearchItem();
            search.Saved        = false;
            search.Name         = this.test_id + "_Test_Search_Description";
            searchItems.Code    = "description";
            searchItems.Exclude = false;
            searchItems.Values  = new List <String>();
            searchItems.Values.Add(file.Description);
            search.SearchItems.Add(searchItems);
            searchList.Add(search);

            search              = new Search();
            searchItems         = new SearchItem();
            search.Saved        = false;
            search.Name         = this.test_id + "_Test_Search_Photographer";
            searchItems.Code    = "photographer";
            searchItems.Exclude = false;
            searchItems.Ids     = new List <int>();
            searchItems.Ids.Add(photographer.Id);
            search.SearchItems.Add(searchItems);
            searchList.Add(search);

            search              = new Search();
            searchItems         = new SearchItem();
            search.Saved        = false;
            search.Name         = this.test_id + "_Test_Search_Keyword";
            searchItems.Code    = "keyword." + keywordCategory.Id;
            searchItems.Exclude = false;
            searchItems.Ids     = new List <int>();
            searchItems.Ids.Add(keyword.Id);
            search.SearchItems.Add(searchItems);
            searchList.Add(search);

            search              = new Search();
            searchItems         = new SearchItem();
            search.Saved        = false;
            search.Name         = this.test_id + "_Test_Search_Project";
            searchItems.Code    = "project";
            searchItems.Exclude = false;
            searchItems.Ids     = new List <int>();
            searchItems.Ids.Add(project.Id);
            search.SearchItems.Add(searchItems);
            searchList.Add(search);

            search              = new Search();
            searchItems         = new SearchItem();
            search.Saved        = false;
            search.Name         = this.test_id + "_Test_Search_Album";
            searchItems.Code    = "album";
            searchItems.Exclude = false;
            searchItems.Ids     = new List <int>();
            searchItems.Ids.Add(album.Id);
            search.SearchItems.Add(searchItems);
            searchList.Add(search);

            search              = new Search();
            searchItems         = new SearchItem();
            search.Saved        = false;
            search.Name         = this.test_id + "_Test_Search_CopyrightHolder";
            searchItems.Code    = "copyrightHolder";
            searchItems.Exclude = false;
            searchItems.Ids     = new List <int>();
            searchItems.Ids.Add(copyrightHolder.Id);
            search.SearchItems.Add(searchItems);
            searchList.Add(search);

            search              = new Search();
            searchItems         = new SearchItem();
            search.Saved        = false;
            search.Name         = this.test_id + "_Test_Search_Field";
            searchItems.Code    = "field." + field.Id;
            searchItems.Exclude = false;
            searchItems.Values  = field.Values;
            search.SearchItems.Add(searchItems);
            searchList.Add(search);

            return(searchList);
        }
示例#11
0
 KeywordCategory ModifyKeywordCategory(KeywordCategory item)
 {
     item.Name = "RESTClient Test KeywordCategory - PUT Test #" + Guid.NewGuid().ToString();
     return(item);
 }