コード例 #1
0
ファイル: BooksForm.cs プロジェクト: goncasilik/kutuphanem
        private void Button2_Click(object sender, EventArgs e)
        {
            Book newBook = new Book
            {
                Name = textBox1.Text
            };

            List <Author> authors = new List <Author>();

            foreach (var item in listBox1.SelectedItems)
            {
                authors.Add(AuthorHelper.MapAuthorModel((AuthorModel)item));
            }

            newBook.Authors = authors;

            List <Genre> genres = new List <Genre>();

            foreach (var item in listBox2.SelectedItems)
            {
                genres.Add(GenreHelper.MapGenreModel((GenreModel)(item)));
            }

            newBook.Genres    = genres;
            newBook.PageCount = Convert.ToInt32(textBox2.Text);

            bool isAdded = BookHelper.Addbook(newBook);

            if (isAdded)
            {
                this.LoadBooks();
            }
        }
コード例 #2
0
ファイル: ID3v1ViewModel.cs プロジェクト: superowner/IdSharp
 static ID3v1ViewModel()
 {
     _genreCollection        = new ObservableCollection <string>(GenreHelper.GetSortedGenreList());
     _id3v1VersionCollection = new ObservableCollection <ID3v1TagVersion> {
         ID3v1TagVersion.ID3v10, ID3v1TagVersion.ID3v11
     };
 }
        public async Task <MetadataResult <Series> > GetMetadata(SeriesInfo info, CancellationToken cancellationToken)
        {
            var result = new MetadataResult <Series>();

            var aid = info.ProviderIds.GetOrDefault(ProviderNames.AniList);

            if (string.IsNullOrEmpty(aid))
            {
                return(result);
            }

            if (!string.IsNullOrEmpty(aid))
            {
                result.Item        = new Series();
                result.HasMetadata = true;

                result.Item.ProviderIds.Add(ProviderNames.AniList, aid);

                var anime = await _api.GetAnime(aid);

                result.Item.Name     = SelectName(anime, PluginConfiguration.Instance().TitlePreference, info.MetadataLanguage ?? "en");
                result.Item.Overview = anime.description;

                DateTime start;
                if (DateTime.TryParse(anime.start_date, CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal, out start))
                {
                    result.Item.PremiereDate = start;
                }

                DateTime end;
                if (DateTime.TryParse(anime.end_date, CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal, out end))
                {
                    result.Item.EndDate = end;
                }

                if (anime.genres != null)
                {
                    foreach (var genre in anime.genres)
                    {
                        result.Item.AddGenre(genre);
                    }

                    GenreHelper.CleanupGenres(result.Item);
                    GenreHelper.RemoveDuplicateTags(result.Item);
                }

                if (!string.IsNullOrEmpty(anime.image_url_lge))
                {
                    StoreImageUrl(aid, anime.image_url_lge, "image");
                }

                if (!string.IsNullOrEmpty(anime.image_url_banner))
                {
                    StoreImageUrl(aid, anime.image_url_banner, "banner");
                }
            }

            return(result);
        }
コード例 #4
0
ファイル: ID3v2ViewModel.cs プロジェクト: superowner/IdSharp
 static ID3v2ViewModel()
 {
     _genreCollection        = new ObservableCollection <string>(GenreHelper.GetSortedGenreList());
     _id3v2VersionCollection = new ObservableCollection <ID3v2TagVersion> {
         ID3v2TagVersion.ID3v22, ID3v2TagVersion.ID3v23, ID3v2TagVersion.ID3v24
     };
     _pictureTypeCollection = new ObservableCollection <PictureType>(PictureTypeHelper.PictureTypes);
 }
コード例 #5
0
ファイル: GenresForm.cs プロジェクト: goncasilik/kutuphanem
        private void button2_Click(object sender, EventArgs e)
        {
            Genre newGenre = new Genre
            {
                Name = textBox2.Text
            };

            GenreHelper.AddGenre(newGenre);
            ListGenres();
        }
コード例 #6
0
        private void AdminSayfa_Load(object sender, EventArgs e)
        {
            loggedPerson = Form1.loggedPerson;
            label2.Text  = loggedPerson.FirstName + " " + loggedPerson.LastName;

            label5.Text = GenreHelper.TotalGenreCount().ToString();
            label7.Text = PersonHelper.TotalPersonCount().ToString();
            label8.Text = AuthorHelper.TotalAuthorCount().ToString();
            label9.Text = BookHelper.TotalBookCount().ToString();
        }
コード例 #7
0
ファイル: BooksForm.cs プロジェクト: goncasilik/kutuphanem
        private void Kitaplar_Load(object sender, EventArgs e)
        {
            LoadBooks();

            List <AuthorModel> authors = AuthorHelper.MapAuthorEntity(AuthorHelper.ListAuthors());

            listBox1.DataSource    = authors;
            listBox1.SelectionMode = SelectionMode.MultiSimple;

            List <GenreModel> genres = GenreHelper.MapGenreEntity(GenreHelper.ListGenres());

            listBox2.DataSource    = genres;
            listBox2.SelectionMode = SelectionMode.MultiSimple;
        }
コード例 #8
0
 public static Boolean Savev1tag(Track mytrack)
 {
     if (!File.Exists(mytrack.Filename))
     {
         MessageBox.Show("File Does not exist " + mytrack.Filename);
         return(false);
     }
     try
     {
         var trackxml = new XMLutils(appPath + "\\trackxml.xml");
         removeID3v1(mytrack.Filename);
         var id3 = new ID3v1Tag(mytrack.Filename);
         if (!String.IsNullOrEmpty(mytrack.Filename) && File.Exists(mytrack.Filename))
         {
             id3.Album  = mytrack.Album;
             id3.Artist = mytrack.Artist;
             id3.Title  = mytrack.Title;
             if (mytrack.Trackno.Contains("/"))
             {
                 id3.TrackNumber = Convert.ToInt16(mytrack.Trackno.Substring(0, mytrack.Trackno.IndexOf("/")));
             }
             else
             {
                 id3.TrackNumber = Convert.ToInt16(mytrack.Trackno);
             }
             id3.Year       = mytrack.Year;
             id3.GenreIndex = GenreHelper.GetGenreIndex(mytrack.Genre);
             // id3.Comment = comment;
             id3.Save(mytrack.Filename);
             trackxml.ModifyRecord(mytrack);
         }
         if (ID3v1Tag.DoesTagExist(mytrack.Filename))
         {
             trackxml.Updaterecord(mytrack.Filename);
             return(true);
         }
         else
         {
             return(false);
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
         return(false);
     }
 }
コード例 #9
0
        public async Task <MetadataResult <Series> > GetMetadata(SeriesInfo info, CancellationToken cancellationToken)
        {
            var result = new MetadataResult <Series>();

            var aid = info.GetProviderId(provider_name);

            if (string.IsNullOrEmpty(aid))
            {
                _log.Info("Start MyAnimeList... Searching(" + info.Name + ")");
                aid = await _api.FindSeries(info.Name, cancellationToken);
            }

            if (!string.IsNullOrEmpty(aid))
            {
                string WebContent = await _api.WebRequestAPI(_api.anime_link + aid, cancellationToken);

                result.Item        = new Series();
                result.HasMetadata = true;

                result.Item.SetProviderId(provider_name, aid);
                result.Item.Name = await _api.SelectName(WebContent, Plugin.Instance.Configuration.TitlePreference, "en", cancellationToken);

                result.Item.Overview = await _api.Get_OverviewAsync(WebContent);

                result.ResultLanguage = "eng";
                try
                {
                    result.Item.CommunityRating = float.Parse(await _api.Get_RatingAsync(WebContent), System.Globalization.CultureInfo.InvariantCulture);
                }
                catch (Exception) { }
                foreach (var genre in await _api.Get_GenreAsync(WebContent))
                {
                    if (!string.IsNullOrEmpty(genre))
                    {
                        result.Item.AddGenre(genre);
                    }
                }
                GenreHelper.CleanupGenres(result.Item);
                StoreImageUrl(aid, await _api.Get_ImageUrlAsync(WebContent), "image");
            }
            return(result);
        }
コード例 #10
0
        public async Task <MetadataResult <MediaBrowser.Controller.Entities.TV.Series> > GetMetadata(SeriesInfo info, CancellationToken cancellationToken)
        {
            var result = new MetadataResult <MediaBrowser.Controller.Entities.TV.Series>();

            var kitsuId = info.ProviderIds.GetOrDefault(ProviderNames.KitsuIo);

            if (string.IsNullOrEmpty(kitsuId))
            {
                _log.LogInformation("Start KitsuIo... Searching({Name})", info.Name);
                var filters     = GetFiltersFromSeriesInfo(info);
                var apiResponse = await KitsuIoApi.Search_Series(filters);

                kitsuId = apiResponse.Data.FirstOrDefault(x => x.Attributes.Titles.Equal(info.Name))?.Id.ToString();
            }

            if (!string.IsNullOrEmpty(kitsuId))
            {
                var seriesInfo = await KitsuIoApi.Get_Series(kitsuId);

                result.HasMetadata = true;
                result.Item        = new MediaBrowser.Controller.Entities.TV.Series
                {
                    Overview = seriesInfo.Data.Attributes.Synopsis,
                    // KitsuIO has a max rating of 100
                    CommunityRating = string.IsNullOrWhiteSpace(seriesInfo.Data.Attributes.AverageRating)
                        ? null
                        : (float?)float.Parse(seriesInfo.Data.Attributes.AverageRating, System.Globalization.CultureInfo.InvariantCulture) / 10,
                    ProviderIds = new Dictionary <string, string>()
                    {
                        { ProviderNames.KitsuIo, kitsuId }
                    },
                    Genres = seriesInfo.Included?.Select(x => x.Attributes.Name).ToArray()
                             ?? Array.Empty <string>()
                };
                GenreHelper.CleanupGenres(result.Item);
                StoreImageUrl(kitsuId, seriesInfo.Data.Attributes.PosterImage.Original.ToString(), "image");
            }

            return(result);
        }
コード例 #11
0
        public async Task <MetadataResult <Series> > GetMetadata(SeriesInfo info, CancellationToken cancellationToken)
        {
            var result = new MetadataResult <Series>();

            var aid = info.ProviderIds.GetOrDefault(ProviderNames.AniList);

            if (string.IsNullOrEmpty(aid))
            {
                _log.LogInformation("Start AniList... Searching({Name})", info.Name);
                aid = await _aniListApi.FindSeries(info.Name, cancellationToken);
            }

            if (!string.IsNullOrEmpty(aid))
            {
                RootObject WebContent = await _aniListApi.WebRequestAPI(_aniListApi.AniList_anime_link.Replace("{0}", aid));

                result.Item        = new Series();
                result.HasMetadata = true;

                result.People = await _aniListApi.GetPersonInfo(WebContent.data.Media.id, cancellationToken);

                result.Item.ProviderIds.Add(ProviderNames.AniList, aid);
                result.Item.Overview = WebContent.data.Media.description;
                try
                {
                    //AniList has a max rating of 5
                    result.Item.CommunityRating = WebContent.data.Media.averageScore / 10;
                }
                catch (Exception) { }
                foreach (var genre in _aniListApi.Get_Genre(WebContent))
                {
                    result.Item.AddGenre(genre);
                }
                GenreHelper.CleanupGenres(result.Item);
                StoreImageUrl(aid, WebContent.data.Media.coverImage.large, "image");
            }

            return(result);
        }
コード例 #12
0
        public void SaveFile(String path)
        {
            if (m_ID3v1 == null)
            {
                MessageBox.Show("Nothing to save!");
                return;
            }

            m_ID3v1.TagVersion = (cmbID3v1.SelectedIndex == 0 ? ID3v1TagVersion.ID3v10 : ID3v1TagVersion.ID3v11);
            m_ID3v1.Artist     = txtArtist.Text;
            m_ID3v1.Title      = txtTitle.Text;
            m_ID3v1.Album      = txtAlbum.Text;
            m_ID3v1.GenreIndex = GenreHelper.GetGenreIndex(cmbGenre.Text);
            m_ID3v1.Year       = txtYear.Text;
            m_ID3v1.Comment    = txtComment.Text;
            Int32 trackNumber;

            Int32.TryParse(txtTrackNumber.Text, out trackNumber);
            m_ID3v1.TrackNumber = trackNumber;

            m_ID3v1.Save(path);
        }
コード例 #13
0
        public async Task <MetadataResult <Series> > GetMetadata(SeriesInfo info, CancellationToken cancellationToken)
        {
            var result = new MetadataResult <Series>();

            var aid = info.ProviderIds.GetOrDefault(ProviderNames.AniSearch);

            if (string.IsNullOrEmpty(aid))
            {
                _log.LogInformation("Start AniSearch... Searching({Name})", info.Name);
                aid = await AniSearchApi.FindSeries(info.Name, cancellationToken);
            }

            if (!string.IsNullOrEmpty(aid))
            {
                string WebContent = await AniSearchApi.WebRequestAPI(AniSearchApi.AniSearch_anime_link + aid);

                result.Item        = new Series();
                result.HasMetadata = true;

                result.Item.ProviderIds.Add(ProviderNames.AniSearch, aid);
                result.Item.Overview = await AniSearchApi.Get_Overview(WebContent);

                try
                {
                    //AniSearch has a max rating of 5
                    result.Item.CommunityRating = (float.Parse(await AniSearchApi.Get_Rating(WebContent), System.Globalization.CultureInfo.InvariantCulture) * 2);
                }
                catch (Exception) { }
                foreach (var genre in await AniSearchApi.Get_Genre(WebContent))
                {
                    result.Item.AddGenre(genre);
                }
                GenreHelper.CleanupGenres(result.Item);
                StoreImageUrl(aid, await AniSearchApi.Get_ImageUrl(WebContent), "image");
            }
            return(result);
        }
コード例 #14
0
        public async Task <MetadataResult <Series> > GetMetadata(SeriesInfo info, CancellationToken cancellationToken)
        {
            var result = new MetadataResult <Series>();

            var aid = info.ProviderIds.GetOrDefault(provider_name);

            if (string.IsNullOrEmpty(aid))
            {
                _log.Info("Start Proxer... Searching(" + info.Name + ")");
                aid = await Api.FindSeries(info.Name, cancellationToken);
            }

            if (!string.IsNullOrEmpty(aid))
            {
                string WebContent = await Api.WebRequestAPI(Api.Proxer_anime_link + aid);

                result.Item        = new Series();
                result.HasMetadata = true;

                result.Item.ProviderIds.Add(provider_name, aid);
                result.Item.Overview = await Api.Get_Overview(WebContent);

                result.ResultLanguage = "ger";
                try
                {
                    result.Item.CommunityRating = float.Parse(await Api.Get_Rating(WebContent), System.Globalization.CultureInfo.InvariantCulture);
                }
                catch (Exception) { }
                foreach (var genre in await Api.Get_Genre(WebContent))
                {
                    result.Item.AddGenre(genre);
                }
                GenreHelper.CleanupGenres(result.Item);
                StoreImageUrl(aid, await Api.Get_ImageUrl(WebContent), "image");
            }
            return(result);
        }
コード例 #15
0
        private void FetchSeriesInfo(MetadataResult <Series> result, string seriesDataPath, string preferredMetadataLangauge)
        {
            var series   = result.Item;
            var settings = new XmlReaderSettings
            {
                CheckCharacters = false,
                IgnoreProcessingInstructions = true,
                IgnoreComments = true,
                ValidationType = ValidationType.None
            };

            using (var streamReader = File.Open(seriesDataPath, FileMode.Open, FileAccess.Read))
                using (var reader = XmlReader.Create(streamReader, settings))
                {
                    reader.MoveToContent();

                    while (reader.Read())
                    {
                        if (reader.NodeType == XmlNodeType.Element)
                        {
                            switch (reader.Name)
                            {
                            case "startdate":
                                var val = reader.ReadElementContentAsString();

                                if (!string.IsNullOrWhiteSpace(val))
                                {
                                    if (DateTime.TryParse(val, CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal, out DateTime date))
                                    {
                                        date = date.ToUniversalTime();
                                        series.PremiereDate   = date;
                                        series.ProductionYear = date.Year;
                                    }
                                }

                                break;

                            case "enddate":
                                var endDate = reader.ReadElementContentAsString();

                                if (!string.IsNullOrWhiteSpace(endDate))
                                {
                                    if (DateTime.TryParse(endDate, CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal, out DateTime date))
                                    {
                                        date           = date.ToUniversalTime();
                                        series.EndDate = date;
                                        if (DateTime.Now.Date < date.Date)
                                        {
                                            series.Status = SeriesStatus.Continuing;
                                        }
                                        else
                                        {
                                            series.Status = SeriesStatus.Ended;
                                        }
                                    }
                                }

                                break;

                            case "titles":
                                using (var subtree = reader.ReadSubtree())
                                {
                                    var title = ParseTitle(subtree, preferredMetadataLangauge);
                                    if (!string.IsNullOrEmpty(title))
                                    {
                                        series.Name = title;
                                    }
                                }

                                break;

                            case "creators":
                                using (var subtree = reader.ReadSubtree())
                                {
                                    ParseCreators(result, subtree);
                                }

                                break;

                            case "description":
                                series.Overview = ReplaceLineFeedWithNewLine(StripAniDbLinks(reader.ReadElementContentAsString()).Split(new[] { "Source:", "Note:" }, StringSplitOptions.None)[0]);

                                break;

                            case "ratings":
                                using (var subtree = reader.ReadSubtree())
                                {
                                    ParseRatings(series, subtree);
                                }

                                break;

                            case "resources":
                                using (var subtree = reader.ReadSubtree())
                                {
                                    ParseResources(series, subtree);
                                }

                                break;

                            case "characters":
                                using (var subtree = reader.ReadSubtree())
                                {
                                    ParseActors(result, subtree);
                                }

                                break;

                            case "tags":
                                using (var subtree = reader.ReadSubtree())
                                {
                                    ParseTags(series, subtree);
                                }

                                break;

                            case "categories":
                                using (var subtree = reader.ReadSubtree())
                                {
                                }

                                break;

                            case "episodes":
                                using (var subtree = reader.ReadSubtree())
                                {
                                    ParseEpisodes(series, subtree);
                                }

                                break;
                            }
                        }
                    }
                }
            if (series.EndDate == null)
            {
                series.Status = SeriesStatus.Continuing;
            }

            GenreHelper.CleanupGenres(series);
        }
コード例 #16
0
        /// <summary>Saves the tag to the specified path.</summary>
        /// <param name="path">The full path of the file.</param>
        private void Save(string path)
        {
            if (string.IsNullOrEmpty(path))
            {
                throw new ArgumentNullException("path");
            }

            if (VorbisComment.VorbisComment.IsFlac(path))
            {
                VorbisComment.VorbisComment vc = new VorbisComment.VorbisComment(path);
                vc.Title       = Title;
                vc.Artist      = Artist;
                vc.Album       = Album;
                vc.Year        = Year;
                vc.Genre       = Genre;
                vc.TrackNumber = TrackNumber;
                vc.Comment     = Comment;
                vc.Save(path);

                ID3v2Tag.RemoveTag(path);
                ID3v1Tag.RemoveTag(path);
            }
            else
            {
                ID3v2Tag id3v2 = new ID3v2Tag(path);
                id3v2.Title       = Title;
                id3v2.Artist      = Artist;
                id3v2.Album       = Album;
                id3v2.Year        = Year;
                id3v2.Genre       = Genre;
                id3v2.TrackNumber = TrackNumber;

                if (id3v2.CommentsList.Count > 0)
                {
                    id3v2.CommentsList[0].Description = Comment;
                }
                else
                {
                    if (!string.IsNullOrEmpty(Comment))
                    {
                        id3v2.CommentsList.AddNew().Description = Comment;
                    }
                }

                ID3v1Tag id3v1 = new ID3v1Tag(path);
                id3v1.Title      = Title;
                id3v1.Artist     = Artist;
                id3v1.Album      = Album;
                id3v1.Year       = Year;
                id3v1.GenreIndex = GenreHelper.GetGenreIndex(Genre);
                id3v1.Comment    = Comment;
                int trackNumber;
                if (int.TryParse(TrackNumber, out trackNumber))
                {
                    id3v1.TrackNumber = trackNumber;
                }
                else
                {
                    // Handle ##/## format
                    if (TrackNumber.Contains("/"))
                    {
                        if (int.TryParse(TrackNumber.Split('/')[0], out trackNumber))
                        {
                            id3v1.TrackNumber = trackNumber;
                        }
                        else
                        {
                            id3v1.TrackNumber = 0;
                        }
                    }
                    else
                    {
                        id3v1.TrackNumber = 0;
                    }
                }

                id3v2.Save(path);
                id3v1.Save(path);
            }

            Read(path);
        }
コード例 #17
0
        private async Task FetchSeriesInfo(MetadataResult <Series> result, string seriesDataPath, string preferredMetadataLangauge)
        {
            var series   = result.Item;
            var settings = new XmlReaderSettings
            {
                Async           = true,
                CheckCharacters = false,
                IgnoreProcessingInstructions = true,
                IgnoreComments = true,
                ValidationType = ValidationType.None
            };

            using (var streamReader = File.Open(seriesDataPath, FileMode.Open, FileAccess.Read))
                using (var reader = XmlReader.Create(streamReader, settings))
                {
                    await reader.MoveToContentAsync().ConfigureAwait(false);

                    while (await reader.ReadAsync().ConfigureAwait(false))
                    {
                        if (reader.NodeType == XmlNodeType.Element)
                        {
                            switch (reader.Name)
                            {
                            case "startdate":
                                var val = await reader.ReadElementContentAsStringAsync().ConfigureAwait(false);

                                if (!string.IsNullOrWhiteSpace(val))
                                {
                                    if (DateTime.TryParse(val, CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal, out DateTime date))
                                    {
                                        date = date.ToUniversalTime();
                                        series.PremiereDate = date;
                                    }
                                }

                                break;

                            case "enddate":
                                var endDate = await reader.ReadElementContentAsStringAsync().ConfigureAwait(false);

                                if (!string.IsNullOrWhiteSpace(endDate))
                                {
                                    if (DateTime.TryParse(endDate, CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal, out DateTime date))
                                    {
                                        date           = date.ToUniversalTime();
                                        series.EndDate = date;
                                    }
                                }

                                break;

                            case "titles":
                                using (var subtree = reader.ReadSubtree())
                                {
                                    var title = await ParseTitle(subtree, preferredMetadataLangauge).ConfigureAwait(false);

                                    if (!string.IsNullOrEmpty(title))
                                    {
                                        series.Name = title;
                                    }
                                }

                                break;

                            case "creators":
                                using (var subtree = reader.ReadSubtree())
                                {
                                    await ParseCreators(result, subtree).ConfigureAwait(false);
                                }

                                break;

                            case "description":
                                series.Overview = ReplaceLineFeedWithNewLine(
                                    StripAniDbLinks(
                                        await reader.ReadElementContentAsStringAsync().ConfigureAwait(false)));

                                break;

                            case "ratings":
                                using (var subtree = reader.ReadSubtree())
                                {
                                    ParseRatings(series, subtree);
                                }

                                break;

                            case "resources":
                                using (var subtree = reader.ReadSubtree())
                                {
                                    await ParseResources(series, subtree).ConfigureAwait(false);
                                }

                                break;

                            case "characters":
                                using (var subtree = reader.ReadSubtree())
                                {
                                    await ParseActors(result, subtree).ConfigureAwait(false);
                                }

                                break;

                            case "tags":
                                using (var subtree = reader.ReadSubtree())
                                {
                                    await ParseTags(series, subtree).ConfigureAwait(false);
                                }

                                break;

                            case "episodes":
                                using (var subtree = reader.ReadSubtree())
                                {
                                    await ParseEpisodes(series, subtree).ConfigureAwait(false);
                                }

                                break;
                            }
                        }
                    }
                }

            GenreHelper.CleanupGenres(series);
        }
コード例 #18
0
ファイル: Program.cs プロジェクト: arslanmetehan/BookArchive
        static void Main(string[] args)
        {
            GenreService genreService = new GenreService();
            BookService  bookService  = new BookService();
            GenreHelper  genreHelper  = new GenreHelper();
            BookHelper   bookHelper   = new BookHelper();

            string[] idAndPass  = HelperMethods.ReadLinesFromFile();
            string   id         = idAndPass[0];
            string   password   = idAndPass[1];
            string   connString = "Server=127.0.0.1;port=5433;User Id=" + id + ";Password="******";Database=BookGenre;";

            do
            {
                Console.Clear();
                Console.WriteLine("1 - Kitap Listele");
                Console.WriteLine("2 - Kitap Sil");
                Console.WriteLine("3 - Kitap Ekle");
                Console.WriteLine("4 - Kitap Güncelle");
                Console.WriteLine("5 - Tür Listele");
                Console.WriteLine("6 - Tür Sil");
                Console.WriteLine("7 - Tür Ekle");
                Console.WriteLine("8 - Tür Güncelle");
                Console.WriteLine("0 - Çıkış");

                var userSelection = Console.ReadKey();
                if (userSelection.Key == ConsoleKey.D1)
                {
                    var books = bookService.GetAllBooks(connString);
                    bookHelper.ListBooks(books);
                    var willBeDeletedBookId = Console.ReadLine().ToInt();
                }
                else if (userSelection.Key == ConsoleKey.D2)
                {
                    var idCheckBook         = false;
                    var willBeDeletedBookId = 0;
                    do
                    {
                        Console.WriteLine("Choose a book for delete");
                        var books = bookService.GetAllBooks(connString);
                        bookHelper.ListBooks(books);
                        willBeDeletedBookId = Console.ReadLine().ToInt();
                        idCheckBook         = HelperMethods.IsThereBookId(willBeDeletedBookId, books);
                        if (idCheckBook == true)
                        {
                            Console.WriteLine("Non ID you have chosen !");
                            Console.WriteLine("Please try again.");
                        }
                    }while (idCheckBook);
                    bookService.DeleteBook(willBeDeletedBookId, connString);
                    Console.WriteLine("The Book you choose has been deleted !");
                }
                else if (userSelection.Key == ConsoleKey.D3)
                {
                    Console.WriteLine("Enter Book Genre");
                    Console.WriteLine("");
                    var genres = genreService.GetAllGenres(connString);
                    genreHelper.ListGenres(genres);
                    var newBookGenreId = Console.ReadLine().ToInt();

                    Console.WriteLine("Enter Book Title");
                    var newBookTitle = Console.ReadLine();
                    Console.WriteLine("Enter Author Name");
                    var newAuthor = Console.ReadLine();
                    bookService.AddBook(newBookGenreId, newBookTitle, newAuthor, connString);
                    Console.WriteLine("New Book Added !");
                }
                else if (userSelection.Key == ConsoleKey.D4)
                {
                    bool idCheckBook         = false;
                    var  willBeUpdatedBookId = 0;
                    do
                    {
                        Console.WriteLine("Choose a book for update");
                        var books = bookService.GetAllBooks(connString);
                        bookHelper.ListBooks(books);
                        willBeUpdatedBookId = Console.ReadLine().ToInt();
                        idCheckBook         = HelperMethods.IsThereBookId(willBeUpdatedBookId, books);

                        if (idCheckBook == true)
                        {
                            Console.WriteLine("Non ID you have chosen !");
                            Console.WriteLine("Please try again.");
                        }
                    }while (idCheckBook);
                    bool idCheckGenre         = false;
                    var  willBeUpdatedGenreId = 0;
                    do
                    {
                        Console.WriteLine("Choose a genre");
                        var genres = genreService.GetAllGenres(connString);
                        genreHelper.ListGenres(genres);
                        willBeUpdatedGenreId = Console.ReadLine().ToInt();
                        idCheckGenre         = HelperMethods.IsThereGenreId(willBeUpdatedGenreId, genres);
                        if (idCheckGenre == false)
                        {
                            Console.WriteLine("Non ID you have chosen !");
                            Console.WriteLine("Please try again.");
                        }
                    }while (idCheckGenre);

                    Console.WriteLine("Enter new title");
                    var newTitle = Console.ReadLine();
                    Console.WriteLine("Enter new author");
                    var newAuthor = Console.ReadLine();

                    bookService.UpdateBook(willBeUpdatedBookId, willBeUpdatedGenreId, newTitle, newAuthor, connString);
                    Console.WriteLine("Update has been done successfully !");
                }
                else if (userSelection.Key == ConsoleKey.D5)
                {
                    var genres = genreService.GetAllGenres(connString);
                    genreHelper.ListGenres(genres);
                }
                else if (userSelection.Key == ConsoleKey.D6)
                {
                    var idCheckGenre         = false;
                    var canBeDeleted         = false;
                    var willBeDeletedGenreId = 0;
                    do
                    {
                        Console.WriteLine("Choose a genre for delete");
                        var genres = genreService.GetAllGenres(connString);
                        genreHelper.ListGenres(genres);
                        willBeDeletedGenreId = Console.ReadLine().ToInt();
                        idCheckGenre         = HelperMethods.IsThereGenreId(willBeDeletedGenreId, genres);
                        if (idCheckGenre == true)
                        {
                            Console.WriteLine("Non ID you have chosen !");
                            Console.WriteLine("Please try again.");
                        }
                        canBeDeleted = HelperMethods.CanBeDeleted(willBeDeletedGenreId, connString);
                        if (canBeDeleted == false)
                        {
                            Console.WriteLine("The Genre you selected could not be deleted because there are books of that genre");
                            Console.WriteLine("Please try again!");
                        }
                    }while (idCheckGenre || !canBeDeleted);
                    genreService.DeleteGenre(willBeDeletedGenreId, connString);
                    Console.WriteLine("The Genre you choose has been deleted !");
                }
                else if (userSelection.Key == ConsoleKey.D7)
                {
                    Console.WriteLine("Enter Genre Name");
                    var newGenreName = Console.ReadLine();
                    genreService.AddGenre(newGenreName, connString);
                    Console.WriteLine("New Genre Added !");
                }
                else if (userSelection.Key == ConsoleKey.D8)
                {
                    bool idCheckGenre         = false;
                    var  willBeUpdatedGenreId = 0;
                    do
                    {
                        Console.WriteLine("Choose a genre for update");
                        var genres = genreService.GetAllGenres(connString);
                        genreHelper.ListGenres(genres);
                        willBeUpdatedGenreId = Console.ReadLine().ToInt();
                        idCheckGenre         = HelperMethods.IsThereGenreId(willBeUpdatedGenreId, genres);

                        if (idCheckGenre == true)
                        {
                            Console.WriteLine("Non ID you have chosen !");
                            Console.WriteLine("Please try again.");
                        }
                    }while (idCheckGenre);
                    Console.WriteLine("Enter a genre name");
                    var genresNewName = Console.ReadLine();
                    genreService.UpdateGenre(willBeUpdatedGenreId, genresNewName, connString);
                    Console.WriteLine("Update has been done successfully !");
                }
                Console.ReadKey();
            }while (true);
        }
コード例 #19
0
ファイル: WebHelper.cs プロジェクト: greenDevHub/greenLib
        /// <summary>
        /// loads the information of a book from an online source
        /// </summary>
        public Book AutoLoadDNB(string isbn)
        {
            Book book = new Book();

            book.BookIsbn = isbn;
            if (IsbnValidated(isbn))
            {
                htmlData = Regex.Replace(htmlData, @"\t|\n|\r", "");
                htmlData = Regex.Replace(htmlData, "<a href=.*?>", "");
                var genreName = GetGenreNeu().Replace("[", "(").Replace("]", ")");
                if (!genreName.Equals(""))
                {
                    GenreHelper helper = new GenreHelper();
                    Genre       genre  = new Genre();
                    if (helper.FindIdByName(genreName) < 0)
                    {
                        genre.GenreName = genreName;
                        genre.Add();
                    }
                    genre          = new Genre(helper.FindIdByName(genreName));
                    book.BookGenre = genre;
                }

                var titel = GetTitelNeu().Replace("[", "(").Replace("]", ")");
                if (!titel.Equals(""))
                {
                    book.BookTitle = titel;
                }

                var authors = GetAutorNeu();
                foreach (string s in authors)
                {
                    Author       author = new Author();
                    AuthorHelper helper = new AuthorHelper();
                    if (helper.FindIdByName(s) < 0)
                    {
                        author.AuthorName = s;
                        author.Add();
                    }
                    author = new Author(helper.FindIdByName(s));
                    book.BookAuthors.Add(author);
                }

                var ausgabe = GetAusgabeNeu().Replace("[", "(").Replace("]", ")");
                if (!ausgabe.Equals(""))
                {
                    book.BookEdition = ausgabe;
                }

                var publisherName = GetVerlagNeu().Replace("[", "(").Replace("]", ")");
                if (!publisherName.Equals(""))
                {
                    PublisherHelper helper    = new PublisherHelper();
                    Publisher       publisher = new Publisher();
                    if (helper.FindIdByName(publisherName) < 0)
                    {
                        publisher.PublisherName = publisherName;
                        publisher.Add();
                    }
                    publisher          = new Publisher(helper.FindIdByName(publisherName));
                    book.BookPublisher = publisher;
                }

                var jahr = GetDatumNeu();
                if (!jahr.Equals(""))
                {
                    try
                    {
                        DateTime date = new DateTime(int.Parse(jahr), 1, 1);
                        book.BookDatePublication = date;
                    }
                    catch
                    {
                        book.BookDatePublication = DateTime.UtcNow;
                    }
                }

                var preis = GetPreisNeu().Replace('.', ',');
                if (!preis.Equals(""))
                {
                    book.BookPrice = decimal.Parse(preis);
                }

                var languageName = GetSpracheNeu().Replace("[", "(").Replace("]", ")");
                if (!languageName.Equals(""))
                {
                    LanguageHelper helper   = new LanguageHelper();
                    Language       language = new Language();
                    if (helper.FindIdByName(languageName) < 0)
                    {
                        language.LanguageName = languageName;
                        language.Add();
                    }
                    language          = new Language(helper.FindIdByName(languageName));
                    book.BookLanguage = language;
                }

                var image = GetPictureNeu(isbn);
                if (image != null)
                {
                    book.BookImage = image;
                }
                return(book);
                //MetroMessageBox.Show(this, "Das Buch \"" + tb_Titel.Text + "\" wurde erfolgreich geladen!", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                return(book);
                //AutoLoadBuecherNachISBN();
            }
        }
コード例 #20
0
ファイル: GenresForm.cs プロジェクト: goncasilik/kutuphanem
 private void ListGenres()
 {
     dataGridView1.DataSource = GenreHelper.ListGenres();
 }
コード例 #21
0
 public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
 {
     return(GenreHelper.GetGenreIndex((string)value));
 }
コード例 #22
0
        public async Task <MetadataResult <Series> > GetMetadata(SeriesInfo info, CancellationToken cancellationToken)
        {
            var result = new MetadataResult <Series>();

            var aid = info.ProviderIds.GetOrDefault(ProviderNames.AniList);

            if (string.IsNullOrEmpty(aid) && !string.IsNullOrEmpty(info.Name))
            {
                var search = await _api.Search(info.Name);

                foreach (var a in search)
                {
                    if (string.IsNullOrEmpty(aid))
                    {
                        if (Equals_check.Compare_strings(a.title_english, info.Name))
                        {
                            aid = a.id.ToString();
                        }

                        if (Equals_check.Compare_strings(a.title_japanese, info.Name))
                        {
                            aid = a.id.ToString();
                        }

                        if (Equals_check.Compare_strings(a.title_romaji, info.Name))
                        {
                            aid = a.id.ToString();
                        }
                        _log.Log(LogSeverity.Info, a.title_romaji + "vs" + info.Name);
                    }
                }
                if (string.IsNullOrEmpty(aid))
                {
                    var cleaned = AniDbTitleMatcher.GetComparableName(Equals_check.clear_name(info.Name));
                    if (String.Compare(cleaned, info.Name, StringComparison.OrdinalIgnoreCase) != 0)
                    {
                        search = await _api.Search(cleaned);

                        foreach (var b in search)
                        {
                            if (Equals_check.Compare_strings(b.title_english, info.Name))
                            {
                                aid = b.id.ToString();
                            }

                            if (Equals_check.Compare_strings(b.title_japanese, info.Name))
                            {
                                aid = b.id.ToString();
                            }

                            if (Equals_check.Compare_strings(b.title_romaji, info.Name))
                            {
                                aid = b.id.ToString();
                            }
                        }
                    }
                }
                if (string.IsNullOrEmpty(aid))
                {
                    search = await _api.Search(Equals_check.clear_name(info.Name));

                    foreach (var b in search)
                    {
                        if (Equals_check.Compare_strings(b.title_english, info.Name))
                        {
                            aid = b.id.ToString();
                        }

                        if (Equals_check.Compare_strings(b.title_japanese, info.Name))
                        {
                            aid = b.id.ToString();
                        }

                        if (Equals_check.Compare_strings(b.title_romaji, info.Name))
                        {
                            aid = b.id.ToString();
                        }
                    }
                }
            }

            if (!string.IsNullOrEmpty(aid))
            {
                result.Item        = new Series();
                result.HasMetadata = true;

                result.Item.ProviderIds.Add(ProviderNames.AniList, aid);

                var anime = await _api.GetAnime(aid);

                result.Item.Name     = SelectName(anime, Plugin.Instance.Configuration.TitlePreference, info.MetadataLanguage ?? "en");
                result.Item.Overview = anime.description;

                DateTime start;
                if (DateTime.TryParse(anime.start_date, CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal, out start))
                {
                    result.Item.PremiereDate = start;
                }

                DateTime end;
                if (DateTime.TryParse(anime.end_date, CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal, out end))
                {
                    result.Item.EndDate = end;
                }

                if (anime.genres != null)
                {
                    foreach (var genre in anime.genres)
                    {
                        if (!string.IsNullOrEmpty(genre))
                        {
                            result.Item.AddGenre(genre);
                        }
                    }

                    GenreHelper.CleanupGenres(result.Item);
                }

                if (!string.IsNullOrEmpty(anime.image_url_lge))
                {
                    StoreImageUrl(aid, anime.image_url_lge, "image");
                }

                if (!string.IsNullOrEmpty(anime.image_url_banner))
                {
                    StoreImageUrl(aid, anime.image_url_banner, "banner");
                }

                if (string.IsNullOrEmpty(result.Item.Name))
                {
                    if (!string.IsNullOrEmpty(anime.title_romaji))
                    {
                        result.Item.Name = anime.title_romaji;
                    }
                }
            }

            return(result);
        }