public IEnumerable <uSyncAction> Report(string folder, SyncEventCallback callback = null, SyncUpdateCallback update = null) { var actions = new List <uSyncAction>(); var configuredHandlers = syncHandlers.GetValidHandlers("report", settings).ToList(); var summary = new SyncProgressSummary(configuredHandlers.Select(x => x.Handler), "Reporting", configuredHandlers.Count); if (settings.ReportDebug) { // debug - full export into a dated folder. summary.Message = "Debug: Creating Extract in Tracker folder"; callback?.Invoke(summary); this.Export($"~/uSync/Tracker/{DateTime.Now.ToString("yyyyMMdd_HHmmss")}/", null, null); } foreach (var configuredHandler in configuredHandlers) { var handler = configuredHandler.Handler; var handlerSettings = configuredHandler.Settings; summary.Count++; summary.UpdateHandler(handler.Name, HandlerStatus.Processing, $"Reporting {handler.Name}", 0); callback?.Invoke(summary); var handlerActions = handler.Report($"{folder}/{handler.DefaultFolder}", handlerSettings, update); actions.AddRange(handlerActions); summary.UpdateHandler(handler.Name, HandlerStatus.Complete, ChangeCount(handlerActions)); } summary.Message = "Report Complete"; callback?.Invoke(summary); return(actions); }
private void InitBackOffice() { if (globalSettings.ExportAtStartup || (globalSettings.ExportOnSave && !syncFileService.RootExists(globalSettings.RootFolder))) { uSyncService.Export(globalSettings.RootFolder); } if (globalSettings.ImportAtStartup) { uSyncService.Import(globalSettings.RootFolder, false); } if (globalSettings.ExportOnSave) { var handlers = syncHandlers.GetValidHandlers("Save", globalSettings); foreach (var syncHandler in handlers) { logger.Debug <uSyncBackofficeComponent>($"Starting up Handler {syncHandler.Handler.Name}"); syncHandler.Handler.Initialize(syncHandler.Settings); } } }