/// <summary> /// Opdaterer det samlede sync-load resultat, på baggrund af et del-resultat (fordi vi henter i bidder a N records per iteration). /// </summary> /// <param name="fullLoadResult">Det samlede sync-load resultat</param> /// <param name="iterativeLoadResult"></param> private void updateSyncLoadResult(ref EsasSyncResult syncResult, EsasLoadResult iterativeLoadResult) { if (syncResult.esasLoadResult.LoadStartTimeUTC == null) { syncResult.esasLoadResult = new EsasLoadResult() { ModifiedOnDateTimeUTC = iterativeLoadResult.ModifiedOnDateTimeUTC, EsasLoadStatus = iterativeLoadResult.EsasLoadStatus, LoadEndTimeUTC = iterativeLoadResult.LoadEndTimeUTC, LoadStartTimeUTC = iterativeLoadResult.LoadStartTimeUTC, LoaderStrategyName = iterativeLoadResult.LoaderStrategyName, NumberOfObjectsLoaded = iterativeLoadResult.NumberOfObjectsLoaded, LoadTimeMs = iterativeLoadResult.LoadTimeMs, Message = iterativeLoadResult.Message }; } else { syncResult.esasLoadResult.LoadTimeMs += iterativeLoadResult.LoadTimeMs; syncResult.esasLoadResult.LoadEndTimeUTC = iterativeLoadResult.LoadEndTimeUTC; syncResult.esasLoadResult.ModifiedOnDateTimeUTC = iterativeLoadResult.ModifiedOnDateTimeUTC; syncResult.esasLoadResult.EsasLoadStatus = iterativeLoadResult.EsasLoadStatus; syncResult.esasLoadResult.Message = iterativeLoadResult.Message; syncResult.esasLoadResult.NumberOfObjectsLoaded += iterativeLoadResult.NumberOfObjectsLoaded; } }
public (EsasLoadResult esasLoadResult, object[] loadedObjects) Load() { _esasContainer = _esasContextFactory.Create(); EsasLoadResult loadResult = new EsasLoadResult(); loadResult.LoaderStrategyName = this.GetType().Name; loadResult.LoadStartTimeUTC = DateTime.UtcNow; DateTime deltaTimeLoadvalue = new DateTime(1963, 11, 22).ToUniversalTime(); // J.F.K. RIP loadResult.ModifiedOnDateTimeUTC = deltaTimeLoadvalue; object[] loadedObjects = null; try { Stopwatch sp = new Stopwatch(); sp.Start(); loadedObjects = _esasContainer.OptionSetValueString.ToArray(); sp.Stop(); loadResult.EsasLoadStatus = EsasOperationResultStatus.OperationSuccesful; loadResult.LoadTimeMs = sp.ElapsedMilliseconds; loadResult.Message = $"{loadedObjects.Count()} objects loaded"; } catch (Exception ex) { _logger.LogError(ex.Message, ex); loadResult.EsasLoadStatus = EsasOperationResultStatus.OperationFailed; loadResult.Message = $"Exception: {ex.Message}"; } loadResult.LoadEndTimeUTC = DateTime.UtcNow; return(loadResult, loadedObjects); }
public (EsasLoadResult esasLoadResult, object[] loadedObjects) Load() { EsasLoadResult loadResult = new EsasLoadResult(); loadResult.LoaderStrategyName = this.GetType().Name; loadResult.LoadStartTimeUTC = DateTime.UtcNow; object[] loadedObjects = null; try { var esasContext = _esasWebServiceContextFactory.Create(); Stopwatch sp = new Stopwatch(); sp.Start(); DateTime deltaTimeLoadvalue = _loadTimeStrategy.GetLoadTimeCutoff(this); _logger.LogInformation($"Set a load-cutoff time of {deltaTimeLoadvalue.ToString("O")}"); loadedObjects = LoadObjects(deltaTimeLoadvalue); loadResult.ModifiedOnDateTimeUTC = deltaTimeLoadvalue; sp.Stop(); loadResult.EsasLoadStatus = EsasOperationResultStatus.OperationSuccesful; loadResult.LoadTimeMs = sp.ElapsedMilliseconds; if (loadedObjects != null) { loadResult.NumberOfObjectsLoaded = loadedObjects.Count(); } esasContext = null; // mark as ready for disposal } catch (Exception ex) { _logger.LogError(ex.Message, ex); loadResult.EsasLoadStatus = EsasOperationResultStatus.OperationFailed; loadResult.Message = $"Exception: {ex.Message}"; } loadResult.LoadEndTimeUTC = DateTime.UtcNow; return(loadResult, loadedObjects); }