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(); } }
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); }
static ID3v2ViewModel() { _genreCollection = new ObservableCollection <string>(GenreHelper.GetSortedGenreList()); _id3v2VersionCollection = new ObservableCollection <ID3v2TagVersion> { ID3v2TagVersion.ID3v22, ID3v2TagVersion.ID3v23, ID3v2TagVersion.ID3v24 }; _pictureTypeCollection = new ObservableCollection <PictureType>(PictureTypeHelper.PictureTypes); }
private void button2_Click(object sender, EventArgs e) { Genre newGenre = new Genre { Name = textBox2.Text }; GenreHelper.AddGenre(newGenre); ListGenres(); }
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(); }
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; }
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); } }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
/// <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); }
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); }
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); }
/// <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(); } }
private void ListGenres() { dataGridView1.DataSource = GenreHelper.ListGenres(); }
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { return(GenreHelper.GetGenreIndex((string)value)); }
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); }