public void ImportOldRepository(string fromImportPath, string toRepoName, string toRepoPath = null) { Repository repository = _repoManager.GetOrCreateRepository(toRepoName, toRepoPath); TaskManager taskManager = TaskStore.LoadTaskManager(repository); var importerFactory = new ImporterFactory(); IImporter importer = importerFactory.CreateOldInfraImporter(); importer.ImportFromFileToTaskManager(fromImportPath, taskManager); TaskStore.SaveTaskManager(repository, taskManager); }
public void ExportTask(int taskIndex, string repoName) { TaskItem task = _taskManager.GetByIndex(taskIndex); Repository targetRepo = _repoManager.GetRepository(repoName); if (_taskManager.RepositoryName == targetRepo.Name) { throw new InvalidOperationException("Can't export task to the same repository"); } TaskManager targetTaskManager = TaskStore.LoadTaskManager(targetRepo); targetTaskManager.Import(task); TaskStore.SaveTaskManager(targetRepo, targetTaskManager); _output.WriteLine("Task {0}:'{1}' exported", task.Index, task.Name); }
static void Main(string[] args) { PathHelper.InitializeAppFolder(); RepositoryManager rm = TaskStore.LoadRepositoryManager(); TaskManager tm = TaskStore.LoadTaskManager(rm.CurrentRepository); StateManager sm = TaskStore.LoadStateManager(); var processor = new CommandProcessor(tm, rm, sm); processor.AddCommandsObject(new TaskCommands(tm, sm)); processor.AddCommandsObject(new RepositoryCommands(rm)); processor.AddCommandsObject(new StateCommands(sm)); processor.AddCommandsObject(processor); processor.Run(args); }