コード例 #1
0
        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);
            }
        }
コード例 #2
0
ファイル: TagTests.cs プロジェクト: bossaia/alexandrialibrary
        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);
        }
コード例 #3
0
ファイル: TagTests.cs プロジェクト: bossaia/alexandrialibrary
        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);
        }