Example #1
0
        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));
        }
Example #2
0
        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));
        }
Example #3
0
        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);
        }
Example #4
0
        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));
        }
Example #5
0
        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);
        }
Example #6
0
        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);
        }