public UsersController(IUserRepository repo) { _repo = repo; ICurrencyLoader loader = new CurrencyLoader(ApiType.Json); if (_currencies is null) { _currencies = loader.GetCurrenciesList("Cube", "currency", "rate").ToList(); } }
/// <summary> /// Builds a set of tasks to perform the load. /// </summary> /// <returns>A sequence of tasks to execute.</returns> private static IEnumerable <ITask> BuildTasks() { List <ITask> tasks = new List <ITask>(); var targetFactory = Program.connectionFactories["target"]; if (Program.Options.FullLoad) { // Clean out the database. var cleanTask = new SequentialTask( "Clean Target Database", new ExecuteSqlTask("Truncate Facts", targetFactory, SqlQueries.TruncateFactsSql), new ExecuteSqlTask("Delete dimension data", targetFactory, SqlQueries.DeleteDimensionData)); tasks.Add(cleanTask); } var dimensionTasks = new List <ITask>(); if (Program.Options.FullLoad) { var currencyLoader = new CurrencyLoader(targetFactory); dimensionTasks.Add(currencyLoader.Build()); var dateLoader = new DateLoader(targetFactory); dimensionTasks.Add(dateLoader.Build()); var productLoader = new ProductLoader(targetFactory); Program.Disposables.Add(productLoader); dimensionTasks.Add(productLoader.Build()); } tasks.Add(new ParallelTask("Load Dimensions", dimensionTasks)); return(tasks); }