public static void AddApplicationDependencies(this IServiceCollection services) { IJsonAccess jsonFile = GetDatabaseFile(); services.AddSingleton <IJsonAccess>(jsonFile); services.AddSingleton <IJsonDataSource, JsonDataSource>(); services.AddSingleton <ICustomerService, JsonCustomerService>(); }
/// <summary> /// Creates an instance of a <see cref="JsonDataSource"/>. /// </summary> /// <param name="jsonAccess">Loading and persistence mechanism to and from a JSON source</param> public JsonDataSource( IJsonAccess jsonAccess ) { _jsonAccess = jsonAccess; var loadTask = _jsonAccess.LoadAsync(); Task.WaitAll(loadTask); _data = loadTask.Result; }