private void LoadData() { try { _pubs = new List <Publications>(); using (FileStream fs = new FileStream("Publications.txt", FileMode.Open)) { using (StreamReader sr = new StreamReader(fs)) { while (!sr.EndOfStream) { var line = sr.ReadLine(); var parts = line.Split('^'); if (parts.Length == 13) { Publications p = new Publications(parts[0], parts[1], parts[2], int.Parse(parts[3]), int.Parse(parts[4]), int.Parse(parts[5]), parts[6], parts[7], parts[8], parts[9], parts[10], parts[11], parts[12]); _pubs.Add(p); } } sr.Close(); } fs.Close(); } } catch (FileNotFoundException) { MessageBox.Show("Файл с публикациями не существует. Пожалуйста добавьте публикацию"); logger.Warn("Файла с данными не существует!"); NavigationService.Navigate(Pages.NewPublAboutAuthor); } catch (Exception ex) { //MessageBox.Show(ex.Message); logger.Fatal(ex.Message); } }
public void NewPublAdded(Publications publ) { _pubs.Add(publ); }
private void AddOverallPublication_Click(object sender, RoutedEventArgs e) { if (string.IsNullOrWhiteSpace(textBoxTitle.Text)) { MessageBox.Show("Необходимо ввести азвание"); textBoxTitle.Focus(); return; } if (string.IsNullOrWhiteSpace(textBoxCitedReferences.Text)) { MessageBox.Show("Необходимо ввести количество ссылок"); textBoxCitedReferences.Focus(); return; } int CitedReferences; if (!int.TryParse(textBoxCitedReferences.Text, out CitedReferences) || (CitedReferences < 0)) { MessageBox.Show("Некорректное значение рейтинга"); textBoxCitedReferences.Focus(); return; } if (string.IsNullOrWhiteSpace(textBoxTimesCited.Text)) { MessageBox.Show("Необходимо ввести сколько раз ссылались"); textBoxTimesCited.Focus(); return; } int TimesCited; if ((!int.TryParse(textBoxTimesCited.Text, out TimesCited)) || (TimesCited < 0)) { MessageBox.Show("Некорректное значение сколько раз ссылались"); textBoxTimesCited.Focus(); return; } if (string.IsNullOrWhiteSpace(textBoxISSN_ISBN.Text)) { MessageBox.Show("Необходимо ввести ISSN/ISBN"); textBoxISSN_ISBN.Focus(); return; } if (string.IsNullOrWhiteSpace(textBoxPublMagazine.Text)) { MessageBox.Show("Необходимо ввести DOI"); textBoxPublMagazine.Focus(); return; } if (string.IsNullOrWhiteSpace(textBoxPublishYear.Text)) { MessageBox.Show("Необходимо ввести год издания"); textBoxPublishYear.Focus(); return; } int PublishYear; if ((!int.TryParse(textBoxPublishYear.Text, out PublishYear)) || (PublishYear > 2017)) { MessageBox.Show("Некорректное значение года издания"); textBoxPublishYear.Focus(); return; } if (comboBoxPublicationType.SelectedItem == null) { MessageBox.Show("Некорректный выбор типа публикации"); comboBoxPublicationType.Focus(); return; } foreach (Authors a in _authors) { _auth = a; } foreach (Publishers p in _publishers) { _publish = p; } _publication = new Publications(comboBoxPublicationType.Text, textBoxTitle.Text, _auth.AuthorName, CitedReferences, TimesCited, PublishYear, textBoxISSN_ISBN.Text, _auth.AuthorAdress, _auth.AuthorEmail, _publish.Publisher, _publish.PublisherCity, _publish.PublisherAddress, textBoxPublMagazine.Text); _publications.Add(_publication); SaveDataPubl(); Pages.AllPublicationsPage.NewPublAdded(_publication); Pages.AllPublicationsPage.RefreshListView(); NavigationService.Navigate(Pages.MainDatabasePage); logger.Trace("Добавлена новая публикация в базу данных"); }