Beispiel #1
0
        public void SetUp()
        {
            _applicationSettings = new TestApplicationSettings();
            TearDown();
            var aggregateDataFileLocation = Path.Combine(_applicationSettings.SqliteStorageFolderLocation, _applicationSettings.AggregateSqliteFileName);
            //File.Create(aggregateDataFileLocation);

            var sqliteOption = new DbContextOptionsBuilder <AggregateDataContext>()
                               .UseSqlite(AggregateDataContext.GetSqliteString(aggregateDataFileLocation))
                               .Options;
            var context = new AggregateDataContext(sqliteOption);

            _dataPointRepository     = new SqliteImportedDataPointRepository(_applicationSettings);
            _aggregateDataRepository = new AggregateDataRepository(context, _dataPointRepository);
        }
Beispiel #2
0
        public static int GenerateWeeksWorthOfData(this IImportedDataPointRepository dataPointRepository, IApplicationSettings applicationSettings)
        {
            var totalCount       = 0;
            var typesOfSavedData = 1;
            var daysInWeek       = 7;
            var hoursInDay       = 24;
            var minutesInHour    = 60;
            var readingsInMinute = 12;
            var oneWeekOfData    = daysInWeek * hoursInDay;
            var readingsPerHour  = minutesInHour * readingsInMinute;

            var sqliteFolderLocation = applicationSettings.SqliteStorageFolderLocation;

            for (var fileTypeIndex = 0; fileTypeIndex < typesOfSavedData; fileTypeIndex++)
            {
                for (var fileIndex = 0; fileIndex < oneWeekOfData; fileIndex++)
                {
                    var databaseName = $"VibrationType{fileTypeIndex}{fileIndex}.db";
                    var fileTypeData = new List <ImportedDataPoint>();
                    for (var dataPointIndex = 0; dataPointIndex < readingsPerHour; dataPointIndex++)
                    {
                        fileTypeData.Add(new ImportedDataPoint
                        {
                            TimeStampInUtc = DateTime.Now.AddDays(-7).AddMinutes(5 * dataPointIndex),
                            Bits           = dataPointIndex
                        });
                        totalCount++;
                    }

                    var metadata = new StoreFileMetadata
                    {
                        FileName        = databaseName,
                        RoomNumber      = fileIndex.ToString(),
                        RackIdentifier  = fileIndex,
                        RackCoordinates = new RackCoordinate
                        {
                            X = fileIndex,
                            Y = fileIndex
                        },
                        ConversionKey = fileIndex.ToString()
                    };
                    var json = JsonConvert.SerializeObject(metadata);
                    dataPointRepository.WriteRangeToDatabase(databaseName, fileTypeData);
                    File.WriteAllText(Path.Combine(sqliteFolderLocation, databaseName.GetSqliteAssociatedMetadataFileName()), json);
                }
            }
            return(totalCount);
        }
        public void SetUp()
        {
            _appSettings         = new TestApplicationSettings();
            _dataPointRepository = new SqliteImportedDataPointRepository(_appSettings);

            var aggregateDataFileLocation = Path.Combine(_appSettings.SqliteStorageFolderLocation, _appSettings.AggregateSqliteFileName);

            File.Create(aggregateDataFileLocation);

            var sqliteOption = new DbContextOptionsBuilder <AggregateDataContext>()
                               .UseSqlite(AggregateDataContext.GetSqliteString(aggregateDataFileLocation))
                               .Options;
            var context = new AggregateDataContext(sqliteOption);

            _aggregateDataRepository = new AggregateDataRepository(context, _dataPointRepository);

            _dataStorageController = new DataStorageController(_appSettings, _aggregateDataRepository, new EmailServiceLayer(new EmailConfiguration(), new EmailService(new EmailConfiguration())));
        }
 public AggregateDataRepository(AggregateDataContext database,
                                IImportedDataPointRepository importedDataPointRepository)
 {
     _database = database;
     _importedDataPointRepository = importedDataPointRepository;
 }
 public void Setup()
 {
     _applicationSettings      = new TestApplicationSettings();
     _importedDataPointStorage = new SqliteImportedDataPointRepository(_applicationSettings);
 }