public ActionResult RegistrosCelular(HistorialWeb.TiposHistorial?MyType, string Fecha, int AutoId) { string fechaString = Fecha; fechaString = fechaString.Replace('-', '/'); fechaString += " 00:00:00"; DateTime fechaSeleccionada; bool result = DateTime.TryParseExact(fechaString, FormatoFecha.formato, FormatoFecha.provider, DateTimeStyles.None, out fechaSeleccionada); #region Modelo Usado en vista principal Auto auto = db.Autos.Where(a => a.Id == AutoId).FirstOrDefault(); CreacionUsuario us = new CreacionUsuario(); us.Fecha = fechaSeleccionada; us.AutoPatente = auto.Patente; us.AutoId = auto.Id; us.AutoNombre = auto.NombreVehiculo; SelectList tiposHistorial = new SelectList(HistorialWeb.ObtenerTiposHistorial()); ViewBag.MyType = tiposHistorial; ViewBag.HistorialSeleccionado = MyType.ToString(); ViewBag.FechaSeleccionada = Fecha; #endregion //Modelo historial va al viewbag que se envía a la vista parcial HistorialWeb historialWeb = new HistorialWeb(); historialWeb.FechaMostrar = fechaSeleccionada; historialWeb.PatenteAuto = auto.Patente; historialWeb.IdAuto = auto.Id; if (MyType == HistorialWeb.TiposHistorial.Velocidad) { historialWeb = HistorialesManager.PrepararHistorialVelocidad(db, historialWeb, fechaSeleccionada, us.AutoId); //Viewbag enviado a la vista parcial ViewBag.HistorialWeb = historialWeb; } else if (MyType == HistorialWeb.TiposHistorial.Posicion) { historialWeb = HistorialesManager.PrepararHistorialPosicion(db, historialWeb, fechaSeleccionada, us.AutoId); //Viewbag enviado a la vista parcial ViewBag.HistorialWeb = historialWeb; } else if (MyType == HistorialWeb.TiposHistorial.Energia) { historialWeb = HistorialesManager.PrepararHistorialEnergia(db, historialWeb, fechaSeleccionada, us.AutoId); //Viewbag enviado a la vista parcial ViewBag.HistorialWeb = historialWeb; } return(View(us)); }
public ActionResult Estadisticas() { //Modelo usado en la vista principal CreacionUsuario us = new CreacionUsuario(); us.Fecha = DateTime.Today; SelectList tiposHistorial = new SelectList(HistorialWeb.ObtenerTiposHistorial()); ViewBag.MyType = tiposHistorial; return(View(us)); }
public static HistorialWeb PrepararHistorialEnergia(ProyectoAutoContext _db, HistorialWeb _HW, DateTime _fecha, int _idAuto) { Auto auto = _db.Autos.Where(a => a.Id == _idAuto).FirstOrDefault(); if (auto == null) { return(new HistorialWeb()); } HistorialDiario historialHoy = auto.HistorialesDiarios .Where(h => h.Fecha.Year == _fecha.Year && h.Fecha.Month == _fecha.Month && h.Fecha.Day == _fecha.Day).FirstOrDefault(); if (historialHoy == null) { _HW.historialesEnergia = new List <PuntoGrafico>(); return(_HW); } List <HistorialEnergia> histEnergia = historialHoy.historialesEnergia.OrderBy(h => h.HoraRegistro).ToList(); #region HistorialesComparables List <HistorialWeb.TiposHistorial> historialesComparables = new List <HistorialWeb.TiposHistorial>(); historialesComparables.Add(HistorialWeb.TiposHistorial.Velocidad); _HW.historialesComparables = historialesComparables; List <HistorialVelocidad> histVelocidad = historialHoy.historialesVelocidad.OrderBy(h => h.HoraRegistro).ToList(); #endregion List <PuntoGrafico> puntosEnergia = EnergiaAPuntosGrafico(histEnergia); List <PuntoGrafico> puntosVelocidad = VelocidadAPuntosGrafico(histVelocidad); if (histVelocidad.Count == 0) { puntosVelocidad = CrearHistorialVelocidadEjemplo(); puntosEnergia = CrearHistorialEnergiaEjemplo(); } _HW.historialesEnergia = puntosEnergia; _HW.historialesVelocidad = puntosVelocidad; return(_HW); }
public ActionResult Estadisticas(HistorialWeb.TiposHistorial?MyType, string Fecha) { string fechaString = Fecha; fechaString = fechaString.Replace('-', '/'); fechaString += " 00:00:00"; DateTime fechaSeleccionada; bool result = DateTime.TryParseExact(fechaString, FormatoFecha.formato, FormatoFecha.provider, DateTimeStyles.None, out fechaSeleccionada); #region Modelo Usado en vista principal if (Session["Nombre"] == null) { return(RedirectToAction("Index", "Login")); } string nombreSession = Session["Nombre"].ToString(); Usuario userActual = db.Usuarios.Where(u => u.Nombre == nombreSession).FirstOrDefault(); CreacionUsuario us = new CreacionUsuario(); us.Fecha = fechaSeleccionada; us.AutoPatente = ""; us.AutoId = -1; if (userActual.OperadorId != null) { if (userActual.Operador.Autos.Count > 0) { us.AutoPatente = userActual.Operador.Autos.First().Patente; us.AutoId = userActual.Operador.Autos.First().Id; } //us.AutoPatente = userActual.Operador.Auto.Patente; //us.AutoId = userActual.Operador.Auto.Id; } SelectList tiposHistorial = new SelectList(HistorialWeb.ObtenerTiposHistorial()); ViewBag.MyType = tiposHistorial; ViewBag.HistorialSeleccionado = MyType; ViewBag.FechaSeleccionada = Fecha; #endregion //Modelo historial va al viewbag que se envía a la vista parcial HistorialWeb historialWeb = new HistorialWeb(); historialWeb.FechaMostrar = fechaSeleccionada; historialWeb.PatenteAuto = us.AutoPatente; if (MyType == HistorialWeb.TiposHistorial.Velocidad) { historialWeb = HistorialesManager.PrepararHistorialVelocidad(db, historialWeb, fechaSeleccionada, us.AutoId); //Viewbag enviado a la vista parcial ViewBag.HistorialWeb = historialWeb; } else if (MyType == HistorialWeb.TiposHistorial.Posicion) { historialWeb = HistorialesManager.PrepararHistorialPosicion(db, historialWeb, fechaSeleccionada, us.AutoId); //ViewBag enviado a la vista parcial ViewBag.HistorialWeb = historialWeb; } else if (MyType == HistorialWeb.TiposHistorial.Energia) { historialWeb = HistorialesManager.PrepararHistorialEnergia(db, historialWeb, fechaSeleccionada, us.AutoId); //ViewBag enviado a la vista parcial ViewBag.HistorialWeb = historialWeb; } return(View(us)); }
public static HistorialWeb PrepararHistorialPosicion(ProyectoAutoContext _db, HistorialWeb _HW, DateTime _fecha, int _idAuto) { Auto auto = _db.Autos.Where(a => a.Id == _idAuto).FirstOrDefault(); if (auto == null) { return(new HistorialWeb()); } HistorialDiario historialHoy = null; List <HistorialDiario> historialesHoy = auto.HistorialesDiarios .Where(h => h.Fecha.Year == _fecha.Year && h.Fecha.Month == _fecha.Month && h.Fecha.Day == _fecha.Day).ToList(); int nResultados = 0; foreach (HistorialDiario hd in historialesHoy) { List <HistorialPosicion> histPos = hd.historialesPosicion; if (histPos.Count > nResultados) { historialHoy = hd; nResultados = histPos.Count; } } DateTime fechaEjemplo = new DateTime(2018, 1, 1); if (_fecha.Date == fechaEjemplo.Date) { _HW.historialesPosicion = CrearHistorialPosicionejemplo(); return(_HW); } if (historialHoy == null) { _HW.historialesPosicion = new List <HistorialPosicion>(); return(_HW); } List <HistorialPosicion> historiales = historialHoy.historialesPosicion.OrderBy(h => h.FechaHora).ToList(); _HW.historialesPosicion = historiales; #region HistorialesComparables List <HistorialWeb.TiposHistorial> historialesComparables = new List <HistorialWeb.TiposHistorial>(); historialesComparables.Add(HistorialWeb.TiposHistorial.Velocidad); _HW.historialesComparables = historialesComparables; List <HistorialVelocidad> histVelocidad = historialHoy.historialesVelocidad.OrderBy(h => h.HoraRegistro).ToList(); List <PuntoGrafico> puntosVelocidad = VelocidadAPuntosGrafico(histVelocidad); _HW.historialesVelocidad = puntosVelocidad; #endregion return(_HW); }
public static HistorialWeb PrepararHistorialVelocidad(ProyectoAutoContext _db, HistorialWeb _HW, DateTime _fecha, int _idAuto) { //historial web ya llega creado (con ciertos datos genericos como fecha y patente) //Ordenar historiales velocidad //transformarlos apuntos grafico //Remover repetidos si se puede //asignarlos al historial web Auto auto = _db.Autos.Where(a => a.Id == _idAuto).FirstOrDefault(); if (auto == null) { return(new HistorialWeb()); } HistorialDiario historialHoy = null; List <HistorialDiario> historialesHoy = auto.HistorialesDiarios .Where(h => h.Fecha.Year == _fecha.Year && h.Fecha.Month == _fecha.Month && h.Fecha.Day == _fecha.Day).ToList(); int nResultados = 0; foreach (HistorialDiario hd in historialesHoy) { if (hd.historialesVelocidad.Count > nResultados) { historialHoy = hd; nResultados = hd.historialesVelocidad.Count; } } if (historialHoy == null) { _HW.historialesVelocidad = new List <PuntoGrafico>(); return(_HW); } List <HistorialVelocidad> histVelocidad = historialHoy.historialesVelocidad.OrderBy(h => h.HoraRegistro).ToList(); #region HistorialesComparables List <HistorialWeb.TiposHistorial> historialesComparables = new List <HistorialWeb.TiposHistorial>(); historialesComparables.Add(HistorialWeb.TiposHistorial.Energia); _HW.historialesComparables = historialesComparables; List <HistorialEnergia> histEnergia = historialHoy.historialesEnergia.OrderBy(h => h.HoraRegistro).ToList(); #endregion List <PuntoGrafico> puntosVelocidad = VelocidadAPuntosGrafico(histVelocidad); List <PuntoGrafico> puntosEnergia = EnergiaAPuntosGrafico(histEnergia); if (histVelocidad.Count == 0) { puntosVelocidad = CrearHistorialVelocidadEjemplo(); puntosEnergia = CrearHistorialEnergiaEjemplo(); } _HW.historialesVelocidad = puntosVelocidad; _HW.historialesEnergia = puntosEnergia; _HW.ValorMaximo = BuscarValorMaximo(puntosVelocidad); return(_HW); }