Пример #1
0
        private void SearchResponseCallBack(SearchResponseArgs e)
        {
            //更换逻辑,区分直接的和间接的。
            int  tmp           = 0;
            bool obj_attribute = false;

            if (e.Result != null)
            {
                tags.Clear();
                resources.Clear();
                foreach (IRequestObject obj in e.Result)
                {
                    obj_attribute = e.Result_Attribute[tmp];
                    if (obj is Tag)
                    {
                        TagItem item = TagItem.CreateTagItem(obj as Tag);

                        if (item.Tag.TagID == null)
                        {
                            item.State = TagItemState.FreeNew;
                            //说明为直接获得。
                        }
                        else
                        {
                            item.State = TagItemState.FreeImmediate;
                            //说明为间接获得。
                        }
                        tags.Add(item);
                    }
                    else if (obj is Resource)
                    {
                        ResourceItem item = new ResourceItem(obj as Resource);

                        if (obj_attribute)
                        {
                            //说明为直接获得。
                        }
                        else
                        {
                            //说明为间接获得。
                        }
                        resources.Add(item);
                    }
                    else
                    {
                        throw new Exception("New IRequestObject imported!");
                    }
                    tmp++;
                }
            }
            else
            {
            }
        }
Пример #2
0
        public void GivenCollection_WhenClearing_ThenAllAreZeroAndDoesNotAnyOfThem()
        {
            // Arrange
            _tags.AddMany <string>(10);
            _tags.AddMany <int>(5);

            // Act
            _tags.Clear();

            // Assert
            Assert.That(_tags.GetCount <string>(), Is.EqualTo(0));
            Assert.That(_tags.GetCount <int>(), Is.EqualTo(0));
            Assert.That(_tags.Contains <string>(), Is.False);
            Assert.That(_tags.Contains <int>(), Is.False);
        }
Пример #3
0
        /// <summary>
        /// Loads main data when the VnInfo view shows up
        /// </summary>
        protected override void OnViewLoaded()
        {
            VndbLink = new Tuple <string, Visibility>(string.Empty, Visibility.Visible);
            WikiLink = new Tuple <string, Visibility>(string.Empty, Visibility.Collapsed);
            LoadMainData();
            LoadUserData();
            LoadRelations();
            LoadLinks();

            TagCollection.Clear();
            TagCollection.AddRange(VndbTagTraitHelper.GetTags(VndbContentViewModel.VnId));
            SummaryHeaderVisibility  = DescriptionInLine.Length < 1 ? Visibility.Collapsed : Visibility.Visible;
            TagHeaderVisibility      = TagCollection.Count < 1 ? Visibility.Collapsed : Visibility.Visible;
            RelationHeaderVisibility = VnRelations.Count < 1 ? Visibility.Collapsed : Visibility.Visible;
            RelationsDataVisibility  = VnRelations.Count < 1 ? Visibility.Collapsed : Visibility.Visible;
            IsStartButtonVisible     = Visibility.Visible;
        }
Пример #4
0
        /// <summary>
        /// Overrided for proper saving method:
        /// - Blacklist checking + error indication
        /// - New and old tag population and merging
        /// - Handling admin and normal user mode
        /// </summary>
        /// <returns>String for a longtext field (Tags) wich can be stored in the usual way on the content.</returns>
        public override object GetData()
        {
            _bannedTagsList.Clear();
            ClearWarning();
            _tagListString = string.Empty;
            var newTags = _tbTagList.Text.Trim(_splitChars).Split(_splitChars).ToList();

            newTags.RemoveAll(i => string.IsNullOrEmpty(i));

            var oldTags = new List <string>();

            if (!_adminMode)
            {
                foreach (var tag in _taglist)
                {
                    if (!IsBlacklisted(tag.Name))
                    {
                        _tagListString += tag.Name + _splitChars[0];
                        if (!oldTags.Contains(tag.Name))
                        {
                            oldTags.Add(tag.Name);
                        }
                    }
                    else
                    {
                        _bannedTagsList.Add(tag.Name);
                    }
                }
            }
            foreach (var tag in newTags)
            {
                if (!oldTags.Contains(tag) && !IsBlacklisted(tag))
                {
                    _tagListString += tag + _splitChars[0];
                }
                else if (IsBlacklisted(tag))
                {
                    _bannedTagsList.Add(tag);
                }
            }

            _taglist.Clear();
            _tbTagList.Text = string.Empty;
            if (_bannedTagsList.Count > 0)
            {
                var msgbody = "\n";
                var msgEnd  = SNSR.GetString(SR.FieldControls.TagList_BlacklistedTag);
                if (_bannedTagsList.Count > 1)
                {
                    msgEnd = SNSR.GetString(SR.FieldControls.TagList_BlacklistedTags);
                }
                foreach (var tag in _bannedTagsList)
                {
                    msgbody += tag + ", ";
                }
                DisplayWarning(msgbody.TrimEnd(' ', ',') + msgEnd);
                _bannedTagsList.Clear();
            }
            SetTagList(_tagListString.Split(_splitChars));
            return(_tagListString.ToLower());
        }
Пример #5
0
        /// <summary>
        /// Overrided for proper saving method:
        /// - Blacklist checking + error indication
        /// - New and old tag population and merging
        /// - Handling admin and normal user mode
        /// </summary>
        /// <returns>String for a longtext field (Tags) wich can be stored in the usual way on the content.</returns>
        public override object GetData()
        {
            //TODO: This method needs refactoring & optimization!
            _bannedTagsList.Clear();
            ClearWarning();
            _tagListString = String.Empty;
            var newTags = _tbTagList.Text.Trim(_splitChars).Split(_splitChars).ToList();

            newTags.RemoveAll(i => string.IsNullOrEmpty(i));
            //while (newTags.Contains(""))
            //{
            //    newTags.Remove("");
            //}

            var oldTags = new List <string>();

            if (!_adminMode)
            {
                foreach (var tag in _taglist)
                {
                    if (!IsBlacklisted(tag.Name))
                    {
                        _tagListString += tag.Name + _splitChars[0];
                        if (!oldTags.Contains(tag.Name))
                        {
                            oldTags.Add(tag.Name);
                        }
                    }
                    else
                    {
                        _bannedTagsList.Add(tag.Name);
                    }
                }
            }
            foreach (var tag in newTags)
            {
                if (!oldTags.Contains(tag) && !IsBlacklisted(tag))
                {
                    _tagListString += tag + _splitChars[0];
                }
                else if (IsBlacklisted(tag))
                {
                    _bannedTagsList.Add(tag);
                }
            }

            _taglist.Clear();
            _tbTagList.Text = String.Empty;
            if (_bannedTagsList.Count > 0)
            {
                var msgbody = "\n";
                var msgEnd  = " is a blacklisted tag.";
                if (_bannedTagsList.Count > 1)
                {
                    msgEnd = " are blacklisted tags.";
                }
                foreach (var tag in _bannedTagsList)
                {
                    msgbody += tag + ", ";
                }
                DisplayWarning(msgbody.TrimEnd(' ', ',') + msgEnd);
                _bannedTagsList.Clear();
            }
            SetTagList(_tagListString.Split(_splitChars));
            return(_tagListString.ToLower());
        }