Esempio n. 1
0
 public async Task <BucketContainer> LoadEventsFromStreamAsync(Stream stream, LoadStrategyType loadStrategyType)
 {
     using (var loadStrategy = GetLoadStrategy(loadStrategyType, new EventReader(stream, new BucketBuilder())))
     {
         loadStrategy.ProgressHandler = ProgressHandler;
         return(await loadStrategy.LoadEventsAsync());
     }
 }
Esempio n. 2
0
        public async Task <BucketContainer> LoadEventsFromFileAsync(string filePath, LoadStrategyType loadStrategyType)
        {
            var fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);

            using (var loadStrategy = GetLoadStrategy(loadStrategyType, new EventReader(fs, new BucketBuilder())))
            {
                loadStrategy.ProgressHandler = ProgressHandler;
                return(await loadStrategy.LoadEventsAsync());
            }
        }
Esempio n. 3
0
        private ILoadStrategy GetLoadStrategy(LoadStrategyType loadStrategyType, IEventReader reader)
        {
            switch (loadStrategyType)
            {
            case LoadStrategyType.LoadEventsAndPayloadsForChart:
                return(new LoadEventsForChartStrategy(reader));

            case LoadStrategyType.LoadEventsForChart:
                return(new LoadEventsForChartStrategy(reader, false));

            case LoadStrategyType.LoadEventsAndPayloads:
                return(new LoadEventsWithoutDensitiesStrategy(reader));

            case LoadStrategyType.LoadOnlyEvents:
                return(new LoadEventsWithoutDensitiesStrategy(reader, false));

            default:
                throw new ArgumentOutOfRangeException(nameof(LoadStrategyType), loadStrategyType, "Ünknown load strategy");
            }
        }