protected override void DoRun(ILfProject project) { // TODO: These checks might be overkill; consider removing some of them if (project == null) { Logger.Error("Project was null in TransferFdoToMongoAction.DoRun"); return; } Logger.Debug("TransferFdoToMongoAction: locating FieldWorks project"); FwProject fwProject = project.FieldWorksProject; if (fwProject == null) { Logger.Error("Can't find FieldWorks project {0}", project.ProjectCode); return; } Logger.Debug("TransferFdoToMongoAction: locating FieldWorks project cache"); _cache = fwProject.Cache; if (_cache == null) { Logger.Error("Can't find cache for FieldWorks project {0}", project.ProjectCode); return; } Logger.Debug("TransferFdoToMongoAction: connecting to FieldWorks service locator"); _servLoc = _cache.ServiceLocator; if (_servLoc == null) { Logger.Error("Can't find service locator for FieldWorks project {0}", project.ProjectCode); return; } Logger.Debug("TransferFdoToMongoAction: setting up lexicon converter"); _lexiconConverter = new ConvertFdoToMongoLexicon(project, Logger, _connection, Progress, _projectRecordFactory); Logger.Debug("TransferFdoToMongoAction: about to run lexicon conversion"); _lexiconConverter.RunConversion(); Logger.Debug("TransferFdoToMongoAction: successful transfer; setting last-synced date"); _connection.SetLastSyncedDate(project, DateTime.UtcNow); }