/// <inheritDoc/> public void GetSpecificBibliography(Publication publication) { ConferenceArticle conferenceArticle = publication.ConferenceArticle; WriteLine("Zadejte název sborníku konference: " + conferenceArticle.BookTitle); WriteLine("Místo vydání: " + conferenceArticle.Address); WriteLine("Nakladatel: " + conferenceArticle.Publisher); WriteLine(conferenceArticle.FromPage == conferenceArticle.ToPage ? (string.Format("Strana: {0}", conferenceArticle.FromPage)) : (string.Format("Strany: {0} - {1}", conferenceArticle.FromPage, conferenceArticle.ToPage))); WriteLine(!string.IsNullOrEmpty(conferenceArticle.ISBN) ? ("ISBN: " + conferenceArticle.ISBN) : ("ISSN: " + conferenceArticle.ISSN)); }
/// <inheritDoc/> public void CreateSpecificBibliography(Publication publication, List <Author> authors) { ConferenceArticle conferenceArticle = new ConferenceArticle(); WriteLine("Zadejte název sborníku konference:"); conferenceArticle.BookTitle = ReadNonEmptyString("Název sborníku nesmí být prázdný."); WriteLine("Zadejte místo vydání:"); conferenceArticle.Address = ReadNonEmptyString("Adresa nesmí být prázdná."); WriteLine("Zadejte nakladatele:"); conferenceArticle.Publisher = ReadNonEmptyString("Název vydavatele nesmí být prázdný."); WriteLine("Citace od strany:"); conferenceArticle.FromPage = ReadValidNumber("Zadejte číslo počáteční strany citace."); WriteLine("Citace do strany:"); int toPage = ReadValidNumber("Zadejte číslo poslední strany citace."); while (toPage < conferenceArticle.FromPage) { WriteLine("Poslední číslo nesmí být menší než počáteční."); toPage = ReadValidNumber("Zadejte číslo poslední strany citace."); } conferenceArticle.ToPage = toPage; WriteLine("Zadejte ISBN nebo ponechte prázdný řádek pro zadání ISSN:"); string isbn = ReadLine(); if (!string.IsNullOrEmpty(isbn)) { conferenceArticle.ISBN = isbn; } else { WriteLine("Zadejte ISSN:"); conferenceArticle.ISSN = ReadNonEmptyString("ISSN nesmí být prázdné."); } // vytvoření záznamu z načtených informací model.CreatePublication(publication, authors, conferenceArticle); }
/// <inheritDoc/> public List <string> ValidatePublicationTypeSpecificBibliography( Publication publication, List <Author> authors, out ASpecificPublication specificPublication) { List <string> errors = new List <string>(); specificPublication = new ConferenceArticle(); ConferenceArticle conferenceArticle = specificPublication as ConferenceArticle; if (string.IsNullOrWhiteSpace(bookTitleTextBox.Text)) { errors.Add("Název sborníku nesmí být prázdný."); } else { conferenceArticle.BookTitle = bookTitleTextBox.Text; } if (string.IsNullOrWhiteSpace(addressTextBox.Text)) { errors.Add("Místo vydání nesmí být prázdné."); } else { conferenceArticle.Address = addressTextBox.Text; } if (string.IsNullOrWhiteSpace(publisherTextBox.Text)) { errors.Add("Jméno vydavatele nesmí být prázdné."); } else { conferenceArticle.Publisher = publisherTextBox.Text; } conferenceArticle.FromPage = pageNumberValidator. validateFromPageNumber(errors, fromPageNumericUpDown); conferenceArticle.ToPage = pageNumberValidator. validateToPageNumber(errors, toPageNumericUpDown, pageSingleRadioButton, pageRangeRadioButton, conferenceArticle.FromPage); if (string.IsNullOrWhiteSpace(identificationTextBox.Text)) { errors.Add("Identifikační číslo (ISBN/ISSN) nesmí být prázdné."); } else { if (isbnRadioButton.IsChecked == true) { conferenceArticle.ISBN = identificationTextBox.Text; } else if (issnRadioButton.IsChecked == true) { conferenceArticle.ISSN = identificationTextBox.Text; } else { errors.Add("Musí být vybrán typ identifikačního čísla."); } } return(errors); }
/// <inheritDoc/> public void UpdateSpecificBibliography(int publicationId, Publication publication, List <Author> authors) { ConferenceArticle conferenceArticle = new ConferenceArticle(); WriteLine("Zadejte nový název sborníku konference:"); string bookTitle = ReadLine().Trim(); if (!string.IsNullOrEmpty(bookTitle)) { conferenceArticle.BookTitle = bookTitle; } WriteLine("Zadejte nové místo vydání:"); string address = ReadLine().Trim(); if (!string.IsNullOrEmpty(address)) { conferenceArticle.Address = address; } WriteLine("Zadejte nového nakladatele:"); string publisher = ReadLine().Trim(); if (!string.IsNullOrEmpty(publisher)) { conferenceArticle.Publisher = publisher; } WriteLine("Nová počáteční strana citace:"); int fromPage; if (int.TryParse(ReadLine(), out fromPage)) { conferenceArticle.FromPage = fromPage; } WriteLine("Nová poslední strana citace:"); int toPage; if (int.TryParse(ReadLine(), out toPage) && toPage >= conferenceArticle.FromPage) { conferenceArticle.ToPage = toPage; } WriteLine("Zadejte nové ISBN nebo ponechte prázdný řádek pro zadání ISSN:"); string isbn = ReadLine(); if (!string.IsNullOrEmpty(isbn)) { conferenceArticle.ISBN = isbn; } else { WriteLine("Zadejte nové ISSN:"); string issn = ReadLine(); if (!string.IsNullOrEmpty(issn)) { conferenceArticle.ISSN = issn; } } model.UpdatePublication(publicationId, publication, authors, conferenceArticle); }