static ViewdataRepositoryTest() { // Testdataset // Should be unique for each test _instance = new ViewdataRepository(new List <Viewdata> { new Viewdata { seriesId = "id1", date = new DateTime(2018, 1, 1, 0, 0, 0, 0), screen = "tv", views = 100 }, new Viewdata { seriesId = "id2", date = new DateTime(2018, 1, 3, 0, 0, 0, 0), screen = "mobile", views = 100 }, new Viewdata { seriesId = "id2", date = new DateTime(2018, 1, 3, 0, 0, 0, 0), screen = "desktop", views = 100 }, new Viewdata { seriesId = "id2", date = new DateTime(2018, 1, 2, 0, 0, 0, 0), screen = "mobile", views = 100 }, new Viewdata { seriesId = "id2", date = new DateTime(2018, 1, 2, 0, 0, 0, 0), screen = "tablet", views = 200 }, new Viewdata { seriesId = "id3", date = new DateTime(2018, 1, 2, 0, 0, 0, 0), screen = "tv", views = 500 }, new Viewdata { seriesId = "id3", date = new DateTime(2018, 1, 2, 0, 0, 0, 0), screen = "tv", views = 500 } }); }
static Controller() // prevents reading file for each connection { // todo dependency injection !? try { var reader = new StreamReader("./data/data.csv"); var csv = new CsvReader(reader); csv.Configuration.RegisterClassMap <ViewdataMap>(); _data = new ViewdataRepository(csv.GetRecords <Viewdata>().ToList()); } catch (Exception ex) { // todo error logging } // test data if reading file failes if (_data is null) { _data = new ViewdataRepository(new List <Viewdata> { new Viewdata { seriesId = "id1", date = new DateTime(2018, 1, 1, 0, 0, 0, 0), screen = "tv", views = 100 }, new Viewdata { seriesId = "id2", date = new DateTime(2018, 1, 3, 0, 0, 0, 0), screen = "mobile", views = 100 }, new Viewdata { seriesId = "id2", date = new DateTime(2018, 1, 3, 0, 0, 0, 0), screen = "desktop", views = 100 }, new Viewdata { seriesId = "id2", date = new DateTime(2018, 1, 2, 0, 0, 0, 0), screen = "mobile", views = 100 }, new Viewdata { seriesId = "id2", date = new DateTime(2018, 1, 2, 0, 0, 0, 0), screen = "tablet", views = 200 }, new Viewdata { seriesId = "id3", date = new DateTime(2018, 1, 2, 0, 0, 0, 0), screen = "tv", views = 500 }, new Viewdata { seriesId = "id3", date = new DateTime(2018, 1, 2, 0, 0, 0, 0), screen = "tv", views = 500 } }); } }