private void Do(string json) { if (json.Contains("\"Publications\": [")) { this.publikationen.Items.Clear(); if (json.Contains("\"PublisherUrl\":")) { var publicationData = JsonConvert.DeserializeObject <OldPublicationData>(json); MediaRepo.Media.Clear(); PublisherRepo.Publisher.Clear(); this.publikationen.Items.Clear(); foreach (var publication in publicationData.Publications) { Publisher publ = new Publisher(); publ.Id = PublisherRepo.Publisher.Count + 1; publ.Name = publication.Publisher; publ.Link = publication.PublisherUrl; PublisherRepo.Publisher.Add(publ); Medium med = new Medium(); med.Id = MediaRepo.Media.Count + 1; med.Name = publication.Medium; med.PublisherId = publ.Id; MediaRepo.Media.Add(med); Publication pub = new Publication(); pub.Id = publication.Id; pub.Name = publication.Name; pub.Description = publication.Description; pub.Date = publication.Date; pub.Link = publication.Link; pub.Reviewed = false; pub.Type = publication.Type; pub.MediumId = med.Id; this.publikationen.Items.Add(pub); PublisherRepo.OnPublisherCollectionImport(); MediaRepo.OnMediaCollectionImport(); } } else { //TODO Check if table exist, drop and create new var publicationData = JsonConvert.DeserializeObject <PublicationData>(json); foreach (var publication in publicationData.Publications) { this.publikationen.Items.Add(publication); } } } else if (json.Contains("\"Publisher\": [")) { PublisherRepo.Publisher.Clear(); var publicationData = JsonConvert.DeserializeObject <PublisherRepoInstance>(json); PublisherRepo.Publisher = publicationData.Publisher; PublisherRepo.OnPublisherCollectionImport(); } else if (json.Contains("\"Media\": [")) { MediaRepo.Media.Clear(); var publicationData = JsonConvert.DeserializeObject <MediaRepoInstance>(json); MediaRepo.Media = publicationData.Media; MediaRepo.OnMediaCollectionImport(); } else if (json.Contains("\"Projects\": [")) { var publicationData = JsonConvert.DeserializeObject <ProjectRepoInstance>(json); ProjectRepo.Projects = publicationData.Projects; ProjectRepo.OnProjectCollectionImport(); } }
private void Button_Click_1(object sender, RoutedEventArgs e) { var publication = new Publication(); if (!string.IsNullOrEmpty(this.id.Text)) { var id = int.Parse(this.id.Text); Publication foundPublication = null; foreach (Publication item in this.publikationen.Items) { if (item.Id == id) { foundPublication = item; } } foundPublication.Link = this.link.Text; foundPublication.Date = this.DatePicker.Text; foundPublication.Description = this.Beschreibung.Text; foundPublication.Name = this.name.Text; foundPublication.Type = this.typ.Text; try { foundPublication.MediumId = ((Medium)this.medium.SelectedItem).Id; } catch (NullReferenceException ex) { return; } this.fileLogger.Write(new LogData { Message = $"Updated publication '{foundPublication.Name}'", Severity = LogLevel.Info }); } else { publication.Id = GetId(); publication.Link = this.link.Text; publication.Date = this.DatePicker.Text; publication.Description = this.Beschreibung.Text; publication.Name = this.name.Text; publication.Type = this.typ.Text; try { publication.MediumId = ((Medium)this.medium.SelectedItem).Id; } catch (NullReferenceException ex) { return; } this.publikationen.Items.Add(publication); } this.Beschreibung.Text = ""; this.DatePicker.SelectedDate = null; this.link.Text = ""; this.medium.SelectedIndex = -1; this.name.Text = ""; this.typ.SelectedIndex = -1; }