public static ITaskRepository GetTaskRepository(AuthenticationToken authToken) { if (authToken == null) { throw new ArgumentNullException(nameof(authToken)); } EnforceInitialization(); var urlBuilderFactory = new TasksUrlBuilderFactory(ApiKey, _signatureGenerator); var urlFactory = new TasksUrlFactory(urlBuilderFactory); var taskApiClient = new TaskApiClient(urlFactory, ApiClient, authToken); var responseParser = new Http.Api.Tasks.ResponseParser(GetLocationRepository(authToken)); var taskTreeBuilder = new TaskTreeBuilder(); var taskCache = new InMemoryTaskCache(taskTreeBuilder); var syncTracker = new InMemorySyncTracker(); return(new TaskRepository(taskApiClient, responseParser, taskCache, syncTracker)); }
public HomeController() { // Should use DI taskClient = new TaskApiClient(); }