private void addTagButton_Click(object sender, RoutedEventArgs e) { try { var element = sender as UIElement; if (element == null) return; var listBoxItem = element.FindContainingItem<ListBoxItem>(); if (listBoxItem == null) return; var resultViewModel = listBoxItem.DataContext as ISearchResultViewModel; if (resultViewModel == null) return; if (string.IsNullOrEmpty(resultViewModel.CurrentTagValue)) { MessageBox.Show("Tag value is required.", "Cannot Add Tag"); return; } var tagValue = resultViewModel.CurrentTagValue; var tag = new Tag(resultViewModel.Id, TagType.DefaultString, tagValue); mediaItemController.SaveTags(new List<ITag> { tag }); resultViewModel.AddTag(new TagViewModel(tag)); resultViewModel.CurrentTagValue = null; } catch (Exception ex) { logger.Error(" SearchResultView.addTagButton_Click", ex); } }
public SavedTags() { var image = System.Drawing.Image.FromFile(@".\Files\Undertow.jpg"); //Assert.IsNotNull(image); imageData = image.ToBytes(); //Assert.IsNotNull(imageData); var tag1 = new Gnosis.Tags.Tag(uri1, TagType.DefaultString, "Tool Kicks Ass!"); var tag2 = new Gnosis.Tags.Tag(uri2, TagType.Artist, "Tool"); var tag3 = new Gnosis.Tags.Tag(uri3, TagType.Artist, "Tool"); var tag4 = new Gnosis.Tags.Tag(uri3, TagType.Title, "Ticks & Leeches 1".ToAmericanizedString()); var tag5 = new Gnosis.Tags.Tag(uri4, TagType.Artist, "Tool"); var tag6 = new Gnosis.Tags.Tag(uri4, TagType.Title, "The Bottom"); var tag7 = new Gnosis.Tags.Tag(uri4, TagType.Album, "Undertow"); var tag8 = new Gnosis.Tags.Tag(uri4, TagType.AttachedPicture, "Album Cover", Gnosis.Algorithms.Algorithm.Default, imageData); var tag9 = new Gnosis.Tags.Tag(uri4, TagType.ReleaseTime, releaseDate); var tag10 = new Gnosis.Tags.Tag(uri5, TagType.Artist, artist); var tag11 = new Gnosis.Tags.Tag(uri5, TagType.Genre, "Rock & Roll"); var tags = new List<Gnosis.ITag> { tag1, tag2, tag3, tag4, tag5, tag6, tag7, tag8, tag9, tag10, tag11 }; repository.Save(tags); }
public void CanBeOverwritten() { var target1 = Guid.NewGuid().ToUrn(); var target2 = Guid.NewGuid().ToUrn(); var tag1 = new Gnosis.Tags.Tag(target1, TagType.Artist, "R.E.M."); var tag2 = new Gnosis.Tags.Tag(target1, TagType.Artist, tag1.Value.ToAmericanizedString(), Gnosis.Algorithms.Algorithm.Americanized); var tag3 = new Gnosis.Tags.Tag(target1, TagType.Artist, "Eddie Vedder"); var tag4 = new Gnosis.Tags.Tag(target1, TagType.Artist, "Natalie Merchant"); var tag5 = new Gnosis.Tags.Tag(target1, TagType.Artist, tag4.Value.ToAmericanizedString(), Gnosis.Algorithms.Algorithm.Americanized); var tag6 = new Gnosis.Tags.Tag(target2, TagType.Artist, "PJ Harvey"); var tag7 = new Gnosis.Tags.Tag(target1, TagType.Album, "In Time: Best of R.E.M."); repository.Save( new List<ITag> { tag1, tag2, tag3, tag4, tag5, tag6, tag7 }); var checkByType1 = repository.GetByTarget(target1, TagType.Artist); Assert.AreEqual(5, checkByType1.Count()); var tag8 = new Gnosis.Tags.Tag(target1, TagType.Artist, "Patti Smith"); var tag9 = new Gnosis.Tags.Tag(target1, TagType.Artist, "REM"); repository.Overwrite(target1, TagType.Artist, new List<ITag> { tag8, tag9 }); var checkByType2 = repository.GetByTarget(target1, TagType.Artist).OrderByDescending(x => x.Value); Assert.AreEqual(2, checkByType2.Count()); Assert.AreEqual("REM", checkByType2.First().Value); Assert.AreEqual("Patti Smith", checkByType2.Last().Value); }