var addProjectUseCase = new AddProjectUseCase(projectRepository);var result = await addProjectUseCase.ExecuteAsync("/path/to/project");if (result.IsSuccess){ Console.WriteLine("Project added successfully");}else{ Console.WriteLine($"Error: {result.Error}");}
var cloneProjectUseCase = new CloneProjectUseCase(gitRepository, projectRepository);var result = await cloneProjectUseCase.ExecuteAsync( "https://github.com/user/repo.git", "C:\\Projects");if (result.IsSuccess){ Console.WriteLine($"Project cloned to: {result.Data}");}
public class Project{ public string FullPath { get; set; } public string Name { get; set; } public string CurrentBranch { get; set; } public int AheadCount { get; set; } public int BehindCount { get; set; }}
var loadProjectsUseCase = new LoadProjectsUseCase(projectRepository);var result = await loadProjectsUseCase.ExecuteAsync();if (result.IsSuccess){ foreach (var project in result.Data) { Console.WriteLine($"{project.Name} - {project.CurrentBranch}"); }}
var removeProjectUseCase = new RemoveProjectUseCase(projectRepository);var result = await removeProjectUseCase.ExecuteAsync("/path/to/project");if (result.IsSuccess){ Console.WriteLine("Project removed from workspace");}
var switchProjectUseCase = new SwitchProjectUseCase(projectRepository);var result = await switchProjectUseCase.ExecuteAsync("/path/to/project");if (result.IsSuccess){ Console.WriteLine($"Switched to: {result.Data.Name}");}