protected void Run(BaseDataMap map, LevelLogger logger, OutputHandlerBase exporter) { Context.Job.Status.State = JobState.Running; logger.AddKey(Utility.Constants.DataSyncItemId, map.ImportItem.ID.ToString()); logger.AddData(Utility.Constants.DataSyncItem, map.ImportItem); logger.AddData(Logger.Log.Constants.Identifier, map.ImportItem.Name); var startedAt = DateTime.Now; logger = map.Process(); var finishededAt = DateTime.Now; logger.AddData(Logger.Log.Constants.StartTime, startedAt); logger.AddData(Logger.Log.Constants.EndTime, finishededAt); try { MailManager.SendLogReport(ref logger, exporter); } catch (Exception exception) { Diagnostics.Log.Error(exporter.GetIdentifier() + " failed in sending out the mail. Please see the exception message for more details. Exception:" + exception.Message + ". Status:\r\n" + exporter.Export(), typeof(DataSyncWizard)); } if (logger.HasErrors()) { Context.Job.Status.Failed = true; } else { Context.Job.Status.State = JobState.Finished; } }