Beispiel #1
0
        private async void Preview()
        {
            using (var context = InMemoryDb.CreateDbContext())
            {
                context.Initialize();

                await CreateStatisticalUnitsAsync(context);

                var service = new SampleFramesService(context, null);

                await service.Create(
                    new SampleFrameM
                {
                    Name      = "Sample frame name",
                    Predicate = CreateExpressionGroup(),
                    Fields    = new[] { FieldEnum.RegId, FieldEnum.Name }
                },
                    (await context.Users.FirstAsync()).Id);

                Assert.Equal(1, await context.SampleFrames.CountAsync());

                var existing = await context.SampleFrames.FirstOrDefaultAsync();

                var units = await context.StatisticalUnits.ToListAsync();

                var expected = new[]
                {
                    new { RegId = units[0].RegId.ToString(), units[0].Name },
                    new { RegId = units[1].RegId.ToString(), units[1].Name }
                };
                var actual = (await service.Preview(existing.Id, (await context.Users.FirstAsync()).Id, 2)).ToArray();

                Assert.Equal(expected.Length, actual.Length);
                Assert.Equal(expected[0].RegId, actual[0][FieldEnum.RegId]);
                Assert.Equal(expected[1].Name, actual[1][FieldEnum.Name]);
            }
        }
Beispiel #2
0
        private async Task Edit()
        {
            using (var context = InMemoryDb.CreateDbContext())
            {
                context.Initialize();

                await CreateStatisticalUnitsAsync(context);

                var expressionTree = CreateExpressionGroup();

                var service = new SampleFramesService(context, null);
                await service.Create(
                    new SampleFrameM
                {
                    Name      = "Sample frame name",
                    Predicate = expressionTree,
                    Fields    = new[] { FieldEnum.Address }
                },
                    (await context.Users.FirstAsync()).Id);

                Assert.Equal(1, await context.SampleFrames.CountAsync());

                await service.Edit(
                    (await context.SampleFrames.FirstOrDefaultAsync()).Id,
                    new SampleFrameM
                {
                    Id        = (await context.SampleFrames.FirstOrDefaultAsync()).Id,
                    Predicate = expressionTree,
                    Name      = "New sample frame name",
                    Fields    = new[] { FieldEnum.Address }
                },
                    (await context.Users.FirstAsync()).Id);

                Assert.Equal(1, await context.SampleFrames.CountAsync());
                Assert.Equal("New sample frame name", (await context.SampleFrames.FirstOrDefaultAsync()).Name);
            }
        }
Beispiel #3
0
        private async void Delete()
        {
            using (var context = InMemoryDb.CreateDbContext())
            {
                context.Initialize();

                var service = new SampleFramesService(context, null);
                var userId  = (await context.Users.FirstAsync()).Id;
                await service.Create(
                    new SampleFrameM
                {
                    Predicate = CreateExpressionGroup(),
                    Name      = "Sample frame name",
                    Fields    = new[] { FieldEnum.Address }
                }, userId
                    );

                Assert.Equal(1, await context.SampleFrames.CountAsync());

                await service.Delete((await context.SampleFrames.FirstOrDefaultAsync()).Id, userId);

                Assert.Equal(0, await context.SampleFrames.CountAsync());
            }
        }
Beispiel #4
0
 public SampleFramesController(NSCRegDbContext context, IConfiguration configuration)
 {
     _sampleFramesService = new SampleFramesService(context, configuration);
     _csvHelper           = new CsvHelper();
 }