Пример #1
0
        public ActionResult Index()
        {
            ViewBag.Message = "Últimos valores registrados.";

            WSRefSMATEC.RecopiladorDatosClient client = new WSRefSMATEC.RecopiladorDatosClient();

            IList <string>  sLecturasActuales = client.GetCurrent();
            IList <Lectura> LecturasActuales  = new List <Lectura>();

            foreach (string sLec in sLecturasActuales)
            {
                LecturasActuales.Add(new Lectura(sLec));
            }

            ViewBag.ColumnName = ListConcat(LecturasActuales.Select(T => T.IpEquipo).ToList());

            ViewBag.ValuesTemperatura = ListConcat(LecturasActuales.Select(T => T.Temperatura).ToList());
            ViewBag.ValuesHumedad     = ListConcat(LecturasActuales.Select(T => T.Humedad).ToList());
            ViewBag.ValuesCO          = ListConcat(LecturasActuales.Select(T => T.CO).ToList());
            ViewBag.ValuesConsumo     = ListConcat(LecturasActuales.Select(T => T.Consumo).ToList());

            return(View());
        }
Пример #2
0
        public ActionResult Historico(string selectedID = "-1",
                                      Periodicidad selectedPeriodicidad = Periodicidad.TiempoReal,
                                      string FechaInicio = "",
                                      string FechaFin    = "")
        {
            ViewBag.Message = "Cronología de los valores registrados.";

            List <Periodicidad> periodicidadList = Enum.GetValues(typeof(Periodicidad)).Cast <Periodicidad>().ToList();

            ViewData["Periodicidad"] = new SelectList(periodicidadList, selectedPeriodicidad);

            WSRefSMATEC.RecopiladorDatosClient client = new WSRefSMATEC.RecopiladorDatosClient();

            IList <DescripcionEquipo> ListaEquipos = client.GetEquipos().ToList <DescripcionEquipo>();

            Equipo CurrEq;

            if (ListaEquipos.Where(Eq => Eq.ID == selectedID).Count() == 0)
            {
                if (ListaEquipos.Count > 0)
                {
                    selectedID = ListaEquipos.First().ID;
                }
            }

            ViewData["Equipos"] = new SelectList(ListaEquipos, "ID", "NOMBRE", selectedID);

            if (selectedID == "-1" || selectedID == "null")
            {
                CurrEq = new Equipo("-1", "0.0.0.0", "Sin equipos.");
            }
            else
            {
                CurrEq = new Equipo(ListaEquipos.Where(Eq => Eq.ID == selectedID).First());
            }

            DateTime dtFechaInicio = ObtieneFecha(FechaInicio, -30);
            DateTime dtFechaFin    = ObtieneFecha(FechaFin, 0);

            //evalua la periodicidad y restringe la ventana temporal
            switch (selectedPeriodicidad)
            {
            case Periodicidad.TiempoReal:
                //máximo 2 horas desde el límite inferior
                if (dtFechaFin < dtFechaInicio || (dtFechaFin - dtFechaInicio).TotalHours > 1.0)
                {
                    dtFechaFin = dtFechaInicio.AddHours(1.0);
                }
                break;

            case Periodicidad.Diario:
                //máximo 6 meses desde el límite inferior
                if (dtFechaFin < dtFechaInicio || (dtFechaFin.Date - dtFechaInicio.Date).TotalDays > 30.0 * 6.0)
                {
                    dtFechaFin = dtFechaInicio.AddMonths(6);
                }
                break;

            case Periodicidad.Mensual:
                //máximo 200 años desde el límite inferior
                if (dtFechaFin < dtFechaInicio || (dtFechaFin.Year - dtFechaInicio.Year) > 200)
                {
                    dtFechaFin = dtFechaInicio.AddYears(200);
                }
                break;
            }
            CurrEq.Lecturas.Clear();
            IList <string> CollCect = client.GetLecturas(CurrEq.Id, selectedPeriodicidad, dtFechaInicio, dtFechaFin).ToList <string>();

            foreach (string Lec in CollCect)
            {
                CurrEq.Lecturas.Add(new Lectura(Lec));
            }
            //CurrEq.Lecturas = client.GetLecturas(CurrEq.Id, selectedPeriodicidad, dtFechaInicio, dtFechaFin);

            ViewBag.ColumnName = ListConcat(CurrEq.LecturasFecha(), selectedPeriodicidad);

            ViewBag.ValuesTemperatura = ListConcat(CurrEq.LecturasTemperatura());
            ViewBag.ValuesHumedad     = ListConcat(CurrEq.LecturasHumedad());
            ViewBag.ValuesCO          = ListConcat(CurrEq.LecturasCO());
            ViewBag.ValuesConsumo     = ListConcat(CurrEq.LecturasConsumo());

            ViewBag.FechaInicio = dtFechaInicio.ToString("dd/MM/yyyy HH:mm");
            ViewBag.FechaFin    = dtFechaFin.ToString("dd/MM/yyyy HH:mm");

            return(View());
        }