/// <summary> /// Closes the import session /// </summary> /// <param name="importRunStep">The current run step</param> /// <returns>Results of the import session close</returns> public CloseImportConnectionResults CloseImportConnection(CloseImportConnectionRunStep importRunStep) { try { CloseImportConnectionResults results = new CloseImportConnectionResults(); if (this.importResponse != null) { results.CustomData = this.importResponse.Watermark; ImportReleaseRequest request = new ImportReleaseRequest(); request.Context = this.importResponse.Context; request.NormalTermination = importRunStep.Reason == CloseReason.Normal; this.client.ImportEnd(request); } this.Close(); Logger.WriteLine("Import Complete"); Logger.WriteSeparatorLine('*'); return(results); } catch (Exception ex) { Logger.WriteException(ex); throw; } }
public void ImportEnd(ImportReleaseRequest request) { try { CachedImportRequest originalRequest; try { originalRequest = GetFromCache(request.Context); } catch (InvalidOperationException) { Logger.WriteLine("Could not release the request as it was not found in the cache"); return; } if (originalRequest.HighWatermark != null) { if (request.NormalTermination) { ActiveConfig.DB.ClearDeltas(originalRequest.HighWatermark); } } RemoveFromCache(request.Context); MAStatistics.StopOperation(); Logger.WriteLine(MAStatistics.ToString()); } catch (Exception ex) { Logger.WriteLine("Could not release the request"); Logger.WriteException(ex); } }