Beispiel #1
0
        public UsersController(IUserRepository repo)
        {
            _repo = repo;
            ICurrencyLoader loader = new CurrencyLoader(ApiType.Json);

            if (_currencies is null)
            {
                _currencies = loader.GetCurrenciesList("Cube", "currency", "rate").ToList();
            }
        }
Beispiel #2
0
        /// <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);
        }