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 bool Run(string[] args) { if (args.Length < 1) { PrintUsage(); return(false); } Command command; if (!_commands.TryGetValue(args[0], out command)) { _output.WriteLine("Unknown command '{0}'", args[0]); return(false); } try { command.Proc(args.Skip(1).ToArray()); switch (command.Type) { case CommandType.Task: ListNotDoneTasks(); if (_repoManager.HasRepository(_taskManager.RepositoryName)) { Repository repository = _repoManager.GetRepository(_taskManager.RepositoryName); TaskStore.SaveTaskManager(repository, _taskManager); } break; case CommandType.Repository: PrintRepositories(); TaskStore.SaveRepositoryManager(_repoManager); break; case CommandType.State: ListStates(); TaskStore.SaveStateManager(_stateManager); break; } return(true); } catch (Exception ex) { _output.WriteLine("Error: {0}", ex.Message); _output.WriteLine("Usage: <tw> {1} {2}", _ident, command.Name, command.UsageArgs); return(false); } }
public void ConvertVer1Repository(string repoName) { Repository repository = _repoManager.GetRepository(repoName); TaskManager taskManager = _taskManager.RepositoryName == repoName ? _taskManager : new TaskManager(Enumerable.Empty <TaskItem>(), repository.Name); var importerFactory = new ImporterFactory(); IImporter importer = importerFactory.CreateVer1Importer(); importer.ImportFromFileToTaskManager(repository.Path, taskManager); TaskStore.SaveTaskManager(repository, taskManager); _output.WriteLine("Repository '{0}' converted", repository.Name); }
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); }