Пример #1
0
        public async Task <int> CreateCalibrations(CreateCalibrationsCommand command)
        {
            var positionId = command.PositionId;
            var dateTime   = DateTime.Now;

            var position = await this.databaseContext.Positions
                           .Include(position => position.Calibrations)
                           .FirstOrDefaultAsync(position => position.Id == positionId);

            if (position == null)
            {
                throw new InvalidParametersException("PositionId", command.PositionId, "An existing positionId must be provided");
            }

            int count = 0;

            command.Measurements.ForEach(measurement =>
            {
                if (IsValidMeasurement(measurement))
                {
                    if (measurement.SignalType == SignalType.Magnetometer)
                    {
                        measurement.SignalId = "Magnetic Field";
                    }

                    var calibration      = new Calibration(positionId, measurement);
                    calibration.DateTime = dateTime;
                    position.Calibrations !.Add(calibration);
                    count++;
                }
            });

            position.DataNeedsUpdate = true;

            await this.databaseContext.SaveChangesAsync();

            return(count);
        }
Пример #2
0
 public Task <int> CreateCalibrations(CreateCalibrationsCommand command)
 {
     return(client.Post <int>(calibrationsController, command));
 }
Пример #3
0
 public async Task <ActionResult <int> > CreateCalibrations(
     [FromServices] ICalibrationService calibrationService,
     [FromBody] CreateCalibrationsCommand command)
 {
     return(await calibrationService.CreateCalibrations(command));
 }