public async Task<Sensor> Register(string typeName) { bool isRegistered = await IsRegisteredType(typeName); if (!isRegistered) { using (var uow = new UnitOfWork<SensorPoco>(new RomiDbContext())) { SensorPoco poco = new SensorPoco() { TypeName = typeName }; uow.Repository().Add(poco); } } Sensor result = await this.GetSensor(typeName); return result; }
public async Task<TSensor> Register<TSensor>() where TSensor : Sensor, new() { Type sensorType = typeof(TSensor); string typeName = sensorType.FullName; TSensor result; this._logger.LogDebug($"Registering Sensor: {typeName}"); bool isRegistered = await IsRegisteredType(typeName); if (!isRegistered) { using (var uow = new UnitOfWork<SensorPoco>((DbContext)new RomiDbContext())) { SensorPoco poco = new SensorPoco() { TypeName = typeName }; uow.Repository().Add(poco); } } else { this._logger.LogWarning($"Sensor is already registered: {typeName}"); } result = await this.GetSensor<TSensor>(); return result; }