コード例 #1
0
        private List <PrimaerdatenReportRecord> ConvertToPrimaerdatenRecord(List <PrimaerdatenAufbereitungItem> rawResult, List <SyncInfoForReport> syncInfoForReport)
        {
            List <PrimaerdatenReportRecord> result = new List <PrimaerdatenReportRecord>();

            foreach (var item in rawResult)
            {
                var record = new PrimaerdatenReportRecord();
                if (syncInfoForReport != null && item.MutationsId.HasValue)
                {
                    var infoForReport = syncInfoForReport.FirstOrDefault(mut => mut.MutationId == item.MutationsId.Value);
                    if (infoForReport != null)
                    {
                        record.PrimaryDataLinkCreationDate          = infoForReport.ErstellungsdatumPrimaerdatenVerbindung;
                        record.StartFirstSynchronizationAttempt     = infoForReport.StartErsterSynchronisierungsversuch;
                        record.CompletionLastSynchronizationAttempt = infoForReport.AbschlussSynchronisierung;
                        record.StartLastSynchronizationAttempt      = infoForReport.StartLetzterSynchronisierungsversuch;
                        record.CountSynchronizationAttempts         = infoForReport.AnzahlNotwendigerSynchronisierungsversuche;
                    }
                }

                SetMetaData(item, record);
                SetPrimaerdaten(record, item);
                SetCalculatedValues(record, item);
                result.Add(record);
            }

            return(result);
        }
コード例 #2
0
        private static void SetMetaData(PrimaerdatenAufbereitungItem item, PrimaerdatenReportRecord record)
        {
            var list     = JsonConvert.DeserializeObject <List <ElasticArchiveRecordPackage> >(item.PackageMetadata);
            var metaData = list.FirstOrDefault();

            if (metaData != null)
            {
                var items = metaData.Items.Where(i => i.Type.Equals(ElasticRepositoryObjectType.File)).ToList().Select(i => Path.GetExtension(i.Name)).Distinct().ToArray();
                // ReSharper disable once PossibleLossOfFraction
                record.Size        = metaData.SizeInBytes / (1024 * 1024);
                record.FileCount   = metaData.FileCount;
                record.FileFormats = string.Join(",", items);
                var timeSpan = metaData.FulltextExtractionDuration + metaData.RepositoryExtractionDuration;
                record.EstimatedPreparationTimeVeAccordingDetailPage = FormatTimeSpan(timeSpan);
            }
        }
コード例 #3
0
 private static void SetPrimaerdaten(PrimaerdatenReportRecord record, PrimaerdatenAufbereitungItem item)
 {
     // Primaerdaten
     record.AufbereitungsArt                 = item.AufbereitungsArt == "Sync" ? "Synchronisation" : "Aufbereitung";
     record.OrderId                          = item.OrderItemId;
     record.VeId                             = item.VeId;
     record.MutationsId                      = item.MutationsId;
     record.PrimaerdatenAuftragId            = item.PrimaerdatenAuftragId;
     record.Source                           = item.Quelle;
     record.NeuEingegangen                   = item.NeuEingegangen;
     record.FreigabePrüfen                   = item.FreigabePruefen;
     record.FürDigitalisierungBereit         = item.FuerDigitalisierungBereit;
     record.FürAushebungBereit               = item.FuerAushebungBereit;
     record.Ausgeliehen                      = item.Ausgeliegen;
     record.ZumReponierenBereit              = item.ZumReponierenBereit;
     record.ClickButtonPrepareDigitalCopy    = item.Registriert;
     record.StartFirstPreparationAttempt     = item.ErsterAufbereitungsversuch;
     record.StartLastPreparationAttempt      = item.LetzterAufbereitungsversuch;
     record.CompletionLastPreparationAttempt = item.AuftragErledigt;
     record.ShippingMailReadForDownload      = item.AuftragErledigt;
     record.CountPreparationAttempts         = item.AnzahlVersucheDownload;
     record.StorageUseCopyCache              = item.ImCacheAbgelegt;
 }
コード例 #4
0
        private void SetCalculatedValues(PrimaerdatenReportRecord @record, PrimaerdatenAufbereitungItem item)
        {
            var timeSpan = item.FreigabePruefen.HasValue & item.FuerDigitalisierungBereit.HasValue
                ? item.FuerDigitalisierungBereit.Value.Subtract(item.FreigabePruefen.Value)
                : (TimeSpan?)null;

            record.DauerManuelleFreigabe = FormatTimeSpan(timeSpan);

            timeSpan = item.FuerAushebungBereit.HasValue & item.FuerDigitalisierungBereit.HasValue ?
                       item.FuerAushebungBereit.Value.Subtract(item.FuerDigitalisierungBereit.Value)
                    : (TimeSpan?)null;
            record.DauerAuftragsabrufVecteur = FormatTimeSpan(timeSpan);

            timeSpan = item.FuerAushebungBereit.HasValue & item.Ausgeliegen.HasValue ?
                       item.Ausgeliegen.Value.Subtract(item.FuerAushebungBereit.Value)
            : (TimeSpan?)null;
            record.DauerAusleiheLogistik = FormatTimeSpan(timeSpan);

            timeSpan = item.ZumReponierenBereit.HasValue & item.Ausgeliegen.HasValue ?
                       item.ZumReponierenBereit.Value.Subtract(item.Ausgeliegen.Value)
                : (TimeSpan?)null;
            record.DauerDigitalisierungVecteur = FormatTimeSpan(timeSpan);

            timeSpan = item.ZumReponierenBereit.HasValue & record.PrimaryDataLinkCreationDate.HasValue ?
                       record.PrimaryDataLinkCreationDate.Value.Subtract(item.ZumReponierenBereit.Value)
                : (TimeSpan?)null;
            record.DauerUpdateAIPAdresseAIS = FormatTimeSpan(timeSpan);

            timeSpan = record.StartFirstSynchronizationAttempt.HasValue & record.PrimaryDataLinkCreationDate.HasValue ?
                       record.StartFirstSynchronizationAttempt.Value.Subtract(record.PrimaryDataLinkCreationDate.Value)
                : (TimeSpan?)null;
            record.DauerStartSynchronisierungWebOZ = FormatTimeSpan(timeSpan);

            timeSpan = record.CompletionLastSynchronizationAttempt.HasValue & record.StartLastSynchronizationAttempt.HasValue ?
                       record.CompletionLastSynchronizationAttempt.Value.Subtract(record.StartLastSynchronizationAttempt.Value)
                : (TimeSpan?)null;
            record.DauerErfolgreicherSyncVersuch = FormatTimeSpan(timeSpan);

            timeSpan = record.CompletionLastSynchronizationAttempt.HasValue & record.StartFirstSynchronizationAttempt.HasValue ?
                       record.CompletionLastSynchronizationAttempt.Value.Subtract(record.StartFirstSynchronizationAttempt.Value)
                : (TimeSpan?)null;
            record.DauerAlleSyncVersuche = FormatTimeSpan(timeSpan);

            timeSpan = record.CompletionLastSynchronizationAttempt.HasValue & item.ZumReponierenBereit.HasValue ?
                       record.CompletionLastSynchronizationAttempt.Value.Subtract(item.ZumReponierenBereit.Value)
                : (TimeSpan?)null;
            record.DauerZumReponierenBereitSyncCompleted = FormatTimeSpan(timeSpan);

            timeSpan = record.CompletionLastPreparationAttempt.HasValue & record.StartLastPreparationAttempt.HasValue ?
                       record.CompletionLastPreparationAttempt.Value.Subtract(record.StartLastPreparationAttempt.Value)
                : (TimeSpan?)null;
            record.DauerErfolgreicherAufbereitungsversuch = FormatTimeSpan(timeSpan);

            timeSpan = record.CompletionLastPreparationAttempt.HasValue & record.StartFirstPreparationAttempt.HasValue ?
                       record.CompletionLastPreparationAttempt.Value.Subtract(record.StartFirstPreparationAttempt.Value)
                : (TimeSpan?)null;
            record.DauerAllAufbereitungsversuch = FormatTimeSpan(timeSpan);

            timeSpan = record.CompletionLastPreparationAttempt.HasValue & record.CompletionLastSynchronizationAttempt.HasValue ?
                       record.CompletionLastPreparationAttempt.Value.Subtract(record.CompletionLastSynchronizationAttempt.Value)
                : (TimeSpan?)null;
            record.DauerSyncCompletedAufbereitungErfolgreich = FormatTimeSpan(timeSpan);

            timeSpan = record.StorageUseCopyCache.HasValue && record.CompletionLastPreparationAttempt.HasValue ?
                       record.StorageUseCopyCache.Value.Subtract(record.CompletionLastPreparationAttempt.Value)
                : (TimeSpan?)null;
            record.DauerAufbereitungErfolgreichSpeicherungGebrauchskopieCache = FormatTimeSpan(timeSpan);

            timeSpan = record.ShippingMailReadForDownload.HasValue && record.CompletionLastPreparationAttempt.HasValue
                ? record.ShippingMailReadForDownload.Value.Subtract(record.CompletionLastPreparationAttempt.Value)
                : (TimeSpan?)null;
            record.DauerAufbereitungErfolgreichMailVersandt = FormatTimeSpan(timeSpan);

            timeSpan = record.ShippingMailReadForDownload.HasValue && item.NeuEingegangen.HasValue ?
                       record.ShippingMailReadForDownload.Value.Subtract(item.NeuEingegangen.Value)
                : (TimeSpan?)null;
            record.EingangBestellungVersandEMailZumDownloadBereit = FormatTimeSpan(timeSpan);

            timeSpan = record.ShippingMailReadForDownload.HasValue && record.ClickButtonPrepareDigitalCopy.HasValue ?
                       record.ShippingMailReadForDownload.Value.Subtract(record.ClickButtonPrepareDigitalCopy.Value)
                : (TimeSpan?)null;
            record.KlickButtonDigitalisatAufbereitenVersandEMailZumDownloadBereit = FormatTimeSpan(timeSpan);
        }