public string Insertar([FromBody] Lecturas _lectura) { //Si no existe la entidad no deberia poder grabar lecturas if (data.GetDocument("id",_lectura.id_entidad,"Entidades").Elements.ToList()[0].Name == "_code") { return JObject.Parse("{\"return\":\"No se pueden anexar lecturas de una entidad no registrada\"}").ToString(); } //Update UltimasLecturas IMongoCollection<BsonDocument> collection = data.GetCollection("UltimasLecturas"); data.UpdateDocument(collection,"_id", _lectura.id_entidad, "temp", _lectura.temperatura); data.UpdateDocument(collection,"_id", _lectura.id_entidad, "hum", _lectura.humedad); //Activar/Desactivar Riego/Ventailacion JObject _entidad = JObject.Parse(data.GetDocsWithProjection("Entidades", new string[]{"_id"}, "id_entidad", _lectura.id_entidad).First().ToJson()); SensoresController _sense_data = new SensoresController(); var _param = JObject.Parse(_sense_data.Parametros(_lectura.id_entidad).ToString()).GetValue("sensores"); double tmax = double.Parse(_param.SelectToken("temp.max").ToString()); double tmin = double.Parse(_param.SelectToken("temp.min").ToString()); double hmax = double.Parse(_param.SelectToken("hum.max").ToString()); double hmin = double.Parse(_param.SelectToken("hum.min").ToString()); //Obtener parametros actuales de entidad JToken _reactoresEntidad = _entidad.GetValue("reactores"); bool _riegoCurrentState = bool.Parse(JObject.Parse(_reactoresEntidad.First().ToString()).GetValue("estado").ToString()); bool _ventilacionCurrentState = bool.Parse(JObject.Parse(_reactoresEntidad.Last().ToString()).GetValue("estado").ToString()); IPAddress ipReactor = IPAddress.Parse(JObject.Parse(_reactoresEntidad.First().ToString()).GetValue("ip_reactor").ToString());