예제 #1
0
        public async Task AddSample(IEnvDataSample sample)
        {
            var concrete = sample as EnvDataSample;

            if (concrete == null)
            {
                throw new ArgumentException("Mismatched datastore implementations");
            }
            await _context.EnvDataSamples.AddAsync(concrete);

            await _context.SaveChangesAsync();
        }
예제 #2
0
        public async Task UpdateLatestSample(IPet pet, IEnvDataSample sample)
        {
            if (!(pet is Pet concretePet) || !(sample is EnvDataSample concreteSample))
            {
                throw new ArgumentException("Mismatched infrastructure types");
            }

            concretePet.LatestConcreteSample = concreteSample;
            // TODO: confirm pet is being tracked by context

            await _context.SaveChangesAsync();
        }
예제 #3
0
        public static SampleDto From([NotNull] IEnvDataSample sample)
        {
            var dto = new SampleDto
            {
                Environment = sample.Environment?.Id,
                Occupant    = sample.Occupant?.Id,
                Captured    = sample.Captured ?? DateTime.MinValue,
                HotGlass    = sample.HotGlass,
                HotMat      = sample.HotMat,
                MidGlass    = sample.MidGlass,
                ColdGlass   = sample.ColdGlass,
                ColdMat     = sample.ColdMat
            };

            return(dto);
        }
예제 #4
0
 public IEntityFactory.IEnvBuilder AddSample(IEnvDataSample sample)
 {
     _env.EnvDataSamples.Add(sample);
     return(this);
 }