public ActionResult ControlFlota() { List <Evento> listaEventos = new List <Evento>(); string markers = "["; Empresa emp = new UserRole().GetEmpresaUser(HttpContext.User.Identity.Name); foreach (Vehiculo v in emp.Lista_Vehiculos) { listaEventos.AddRange(v.Lista_Eventos); markers += "{"; markers += "'title': ' "; markers += v.Marca; markers += " " + v.Modelo + "' ,"; markers += "'description':'" + blemp.GetEmpleado(v.Id_Empleado).Nombre + "', "; foreach (Sensor s in v.Lista_Sensores) { if (s.Tipo_Sensor.Equals("G")) { LecturaSensor l = s.GetUltimaLectura(); markers += "'lat': '" + l.Latitud.ToString() + " ',"; markers += "'lng': '" + l.Longitud.ToString() + "',"; markers += "'id': '" + v.Id.ToString() + "'}"; } } if (!v.Equals(emp.Lista_Vehiculos.Last())) { markers += " , "; } } markers += "]"; ViewBag.Markers = markers; ViewBag.Eventos = listaEventos; return(View()); }
public void EnvioLecturas() { while (true) { LecturaSensor lec = new LecturaSensor(); lec.Latitud = float.Parse(this.Latitude.Text); lec.Longitud = float.Parse(this.Longitud.Text); lec.Aceleracion = int.Parse(this.Aceleracion.Text); lec.Temperatura = int.Parse(this.Temperatura.Text); lec.Presion = int.Parse(this.Presion.Text); lec.Velocidad = int.Parse(this.Velocidad.Text); lec.Nivel_Combustible = int.Parse(this.NivelCombustible.Text); lec.SensorRef = int.Parse(this.IdSensor.Text); lec.FechaLectura = DateTime.Now; if (this.AlarmaActiva.SelectedItem.Equals("A")) { lec.Alarma_Activa = true; } else { lec.Alarma_Activa = false; } Console.WriteLine(Call(lec)); Thread.Sleep(5000); } }
static async Task <string> Call(LecturaSensor lec) { using (var cliente = new HttpClient()) { cliente.BaseAddress = new Uri("https://monitorflota.azurewebsites.net/"); var content = new StringContent(JsonConvert.SerializeObject(lec), Encoding.UTF8, "application/json"); var request = await cliente.PostAsync("/api/LecturaSensor", content); return(await request.Content.ReadAsStringAsync()); } }
public List <Evento> AltaLectura(LecturaSensor lec) { if (lec != null) { DALELectura.AddLectura(lec); return(AnalizoEventos(lec)); } else { return(null); } }
public void AddLectura(LecturaSensor lec) { using (CEREBROEntities1 db = new CEREBROEntities1()) { if (lec != null) { LecturaSensores nuevo = new LecturaSensores(); nuevo.setModel(lec); db.LecturaSensores.Add(nuevo); db.SaveChanges(); } } }
public void setModel(LecturaSensor lec) { this.Id = lec.Id; this.Aceleracion = lec.Aceleracion; this.Alarma_Activa = lec.Alarma_Activa; this.Fecha_Lectura = lec.FechaLectura; this.Latitud = lec.Latitud; this.Nivel_Combustible = lec.Nivel_Combustible; this.Presion = lec.Presion; this.Id_Sensor = lec.SensorRef; this.Temperatura = lec.Temperatura; this.Velocidad = lec.Velocidad; this.Longitud = lec.Longitud; }
public List <LecturaSensor> LecturaDBToLectura(List <LecturaSensores> lecturas) { List <LecturaSensor> ret = new List <LecturaSensor>(); if (lecturas != null) { foreach (LecturaSensores cursor in lecturas) { LecturaSensor nuevo = cursor.getEntity(); ret.Add(nuevo); } } return(ret); }
public LecturaSensor getEntity() { LecturaSensor sen = new LecturaSensor(); sen.Id = this.Id; sen.Longitud = (float)this.Longitud; sen.Aceleracion = (float)this.Aceleracion; sen.Alarma_Activa = (bool)this.Alarma_Activa; sen.FechaLectura = (DateTime)this.Fecha_Lectura; sen.Latitud = (float)this.Latitud; sen.Nivel_Combustible = (int)this.Nivel_Combustible; sen.Presion = (float)this.Presion; sen.SensorRef = (int)this.Id_Sensor; sen.Temperatura = (float)this.Temperatura; sen.Velocidad = (int)this.Velocidad; return(sen); }
public bool ActualizoLectura(LecturaSensor lec) { if (lec != null) { Sensor nuevo = DALESensor.GetSensor(lec.SensorRef); if (nuevo.Tipo_Sensor.Equals("G")) { return(true); } else { return(false); } } else { return(false); } }
// POST: api/LecturaSensor public HttpResponseMessage Post([FromBody] LecturaSensor value) { if (value != null) { ListaEventos = BLLectura.AltaLectura(value); if (BLLectura.ActualizoLectura(value)) { DTOLecturaHub lec = new DTOLecturaHub(); lec.Lectura = value; lec.vehiculoRef = BLvehiculo.GetVehiculo(BLSensor.GetSensor(value.SensorRef).VehiculoRef).Id; Task <String> responselec = CallLectura(lec); } if (!ListaEventos.Count.Equals(0)) { Vehiculo nuevo = new Vehiculo(); nuevo = BLvehiculo.GetVehiculo(ListaEventos.First().VehiculoRef); foreach (Sensor s in nuevo.Lista_Sensores) { if (s.Tipo_Sensor.Equals("G")) { Task <String> response = Call(ListaEventos); EnvioEventoCoord = true; } } if (!EnvioEventoCoord) { Task <String> response = Call(ListaEventos); } } return(new HttpResponseMessage() { Content = new StringContent("200") }); } else { return(new HttpResponseMessage() { Content = new StringContent("500") }); } }
public List <Evento> AnalizoLecturas(LecturaSensor lec) { Vehiculo veh; Sensor sen; List <Tipo_Evento> ListaEventos; List <Evento> retorno = new List <Evento>(); if (lec != null) { sen = DALESensor.GetSensor(lec.SensorRef); veh = DALEVehiculo.GetVehiculo(sen.VehiculoRef); ListaEventos = veh.Lista_Tipo_Eventos; switch (sen.Tipo_Sensor) { case "G": foreach (Tipo_Evento TE in ListaEventos) { switch (TE.TipoLectura) { case "V": if ((!(lec.Velocidad <= TE.Maximo) || !(lec.Velocidad >= TE.Minimo)) && lec.Velocidad != -1) { Evento nuevo = new Evento(); nuevo.TipoEventoRef = TE; nuevo.VehiculoRef = DALESensor.GetSensor(lec.SensorRef).VehiculoRef; nuevo.Fecha = lec.FechaLectura; nuevo.Latitud = veh.GetUltimaLecturaGPS().Latitud; nuevo.Longitud = veh.GetUltimaLecturaGPS().Longitud; retorno.Add(nuevo); } break; case "A": if ((!(lec.Aceleracion <= TE.Maximo) || !(lec.Aceleracion >= TE.Minimo)) && lec.Aceleracion != -1) { Evento nuevo = new Evento(); nuevo.TipoEventoRef = TE; nuevo.VehiculoRef = DALESensor.GetSensor(lec.SensorRef).VehiculoRef; nuevo.Fecha = lec.FechaLectura; nuevo.Latitud = veh.GetUltimaLecturaGPS().Latitud; nuevo.Longitud = veh.GetUltimaLecturaGPS().Longitud; retorno.Add(nuevo); } break; } } break; case "M": foreach (Tipo_Evento TE in ListaEventos) { switch (TE.TipoLectura) { case "P": if ((!(lec.Presion <= TE.Maximo) || !(lec.Presion >= TE.Minimo)) && lec.Presion != -1) { Evento nuevo = new Evento(); nuevo.TipoEventoRef = TE; nuevo.VehiculoRef = DALESensor.GetSensor(lec.SensorRef).VehiculoRef; nuevo.Fecha = lec.FechaLectura; nuevo.Latitud = veh.GetUltimaLecturaGPS().Latitud; nuevo.Longitud = veh.GetUltimaLecturaGPS().Longitud; retorno.Add(nuevo); } break; case "T": if ((!(lec.Temperatura <= TE.Maximo) || !(lec.Temperatura >= TE.Minimo)) && lec.Temperatura != -1) { Evento nuevo = new Evento(); nuevo.TipoEventoRef = TE; nuevo.VehiculoRef = DALESensor.GetSensor(lec.SensorRef).VehiculoRef; nuevo.Fecha = lec.FechaLectura; nuevo.Latitud = veh.GetUltimaLecturaGPS().Latitud; nuevo.Longitud = veh.GetUltimaLecturaGPS().Longitud; retorno.Add(nuevo); } break; } } break; case "S": foreach (Tipo_Evento TE in ListaEventos) { switch (TE.TipoLectura) { case "S": if (lec.Alarma_Activa) { Evento nuevo = new Evento(); nuevo.TipoEventoRef = TE; nuevo.VehiculoRef = DALESensor.GetSensor(lec.SensorRef).VehiculoRef; nuevo.Fecha = lec.FechaLectura; nuevo.Latitud = veh.GetUltimaLecturaGPS().Latitud; nuevo.Longitud = veh.GetUltimaLecturaGPS().Longitud; retorno.Add(nuevo); } break; } } break; case "C": foreach (Tipo_Evento TE in ListaEventos) { switch (TE.TipoLectura) { case "C": if (lec.Nivel_Combustible < TE.Minimo && lec.Nivel_Combustible != -1) { Evento nuevo = new Evento(); nuevo.TipoEventoRef = TE; nuevo.VehiculoRef = DALESensor.GetSensor(lec.SensorRef).VehiculoRef; nuevo.Fecha = lec.FechaLectura; nuevo.Latitud = veh.GetUltimaLecturaGPS().Latitud; nuevo.Longitud = veh.GetUltimaLecturaGPS().Longitud; retorno.Add(nuevo); } break; } } break; } } return(retorno); }
static async Task <string> Call(LecturaSensor lec) { using (var cliente = new HttpClient()) {