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 { } }
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); }
/// <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; }
/// <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()); }
/// <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()); }