// TODO based of installation id!!! public Either <MeasurementError, MeasurementDto> Create(MeasurementCreateCommand command) { return(TracedOperation.CallSync ( _logger, MeasurementOperationType.CreateMeasurement, command, () => _repository.TrySave(command.ToDomain()) .Map(MeasurementDto.FromDomain) .ToEither(MeasurementError.DuplicateExternalId(command.ExternalId)) )); }