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); }
public Task <int> CreateCalibrations(CreateCalibrationsCommand command) { return(client.Post <int>(calibrationsController, command)); }
public async Task <ActionResult <int> > CreateCalibrations( [FromServices] ICalibrationService calibrationService, [FromBody] CreateCalibrationsCommand command) { return(await calibrationService.CreateCalibrations(command)); }