public async Task <bool> InsertaPeticion(EntidadPeticion entidadPeticion) { if (entidadPeticion == null) { return(false); } string nombreProyecto = entidadPeticion.Proyecto; string nombreEstacionBase = entidadPeticion.EstacionBase; string nombreSensor = entidadPeticion.Sensor; int estacionId = -1, sensorId = -1; bool result = true; //booleano para saber si ha ocurrido un error durante la insercion de datos try { //obtenemos los datos: id de la estacion e id del sensor estacionId = await repositorioEstacion.ObtenerId(nombreProyecto, nombreEstacionBase); sensorId = await repositorioSensor.ObtenerId(nombreSensor, estacionId); if (estacionId != -1 && sensorId != -1) { foreach (EntidadDatoBase datoBase in entidadPeticion.Datos) { var dato = new EntidadDato(); dato.Stamp = datoBase.Stamp; dato.Humedad = datoBase.Humedad; dato.Temperatura = datoBase.Temperatura; dato.FK_IdSensor = sensorId; result = (result && await repositorioSensor.InsertaDato(dato)); //si falla alguna da false } } else { if (estacionId == -1) { log.Warning($"ERR. SERVICIO INSERTA INFORMACION (InsertaPeticion) - No existe la estacion '{nombreEstacionBase}' en la base de datos"); } if (sensorId == -1) { log.Warning($"ERR. SERVICIO INSERTA INFORMACION (InsertaPeticion) - No existe el sensor {sensorId} en la base de datos"); } result = false; } } catch (Exception ex) { log.Error($"ERR. SERVICIO INSERTA INFORMACION (InsertaPeticion) -{ex.Message}"); result = false; } return(result); }
public async Task <int> ObtenerId(string nombreSensor, int idEstacionBase) { int resultado;// = -1; try { resultado = await repositorioSensor.ObtenerId(nombreSensor, idEstacionBase); } catch (Exception ex) { //Console.WriteLine(ex.Message); log.Error($"ERR. SERVICIO SENSOR (ObtenerId) - {ex.Message}"); resultado = -1; } return(resultado); }