Пример #1
0
        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);
        }
Пример #2
0
        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);
            }
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }