Exemple #1
0
        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();
            }
        }
Exemple #2
0
        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;
        }