Ejemplo n.º 1
0
        public JsonResult ObtenerDatosTabla()
        {
            string search = Request["search[value]"];
            string draw   = Request["draw"];

            int start = Request["start"] != null?Int16.Parse(Request["start"]) : 0;

            int lenght = Request["length"] != null?Int16.Parse(Request["length"]) : 10;

            int dispositivo = Request["idDispositivo"] != null?Int16.Parse(Request["idDispositivo"]) : 0;

            string fechaInicial = Request["fechaInicio"] != null ? Request["fechaInicio"] : "";
            string fechaFinal   = Request["FechaFin"] != null ? Request["FechaFin"] : "";

            int filtroMedidaTiempo = Request["filtroTiempo"] != null?Int16.Parse(Request["filtroTiempo"]) : 0;


            Medida medida    = new Medida();
            int    pageCount = 0;

            string idUsuario = User.Identity.GetUserId();
            string perfil    = userHelper.obtenerPerfil(idUsuario);

            List <Medida> medidas = null;

            if (filtroMedidaTiempo <= 0)
            {
                medidas = medida.Listar(start, lenght, out pageCount,
                                        dispositivo, fechaInicial, fechaFinal, idUsuario, perfil);
            }
            else
            {
                medidas = medida.ListarPromedios(start, lenght, out pageCount, dispositivo,
                                                 fechaInicial, fechaFinal, idUsuario, perfil, filtroMedidaTiempo);
            }

            List <double> temperaturaList = new List <double>();
            List <string> fechas          = new List <string>();

            List <ReportModel> medidasModelList = new List <ReportModel>();
            ReportModel        medidasmodel     = null;

            Dictionary <int, string> nombresDic = new Dictionary <int, string>();

            foreach (Medida medidaTemp in medidas)
            {
                medidasmodel               = new ReportModel();
                medidasmodel.fecha         = medidaTemp.FechaHora.ToString();
                medidasmodel.idDispositivo = medidaTemp.DispositivoID;
                medidasmodel.temperatura   = medidaTemp.Valor.ToString();

                if (!nombresDic.ContainsKey(medidasmodel.idDispositivo))
                {
                    var nombre = dbActiveContext.Dispositivos.Where(dis => dis.DispositivoID == medidasmodel.idDispositivo).FirstOrDefault().Nombre;
                    nombresDic.Add(medidasmodel.idDispositivo, nombre);
                }
                medidasmodel.nombreDispositivo = nombresDic[medidasmodel.idDispositivo];

                medidasModelList.Add(medidasmodel);
            }

            var resultado = new JsonResult();

            resultado.Data = new { draw = draw, recordsTotal = pageCount, recordsFiltered = pageCount, data = medidasModelList.ToArray() };
            return(resultado);
        }
Ejemplo n.º 2
0
        public JsonResult ObtenerDatosGrafico(int pageIndex, int idDispositivo, string fechaInicio, string fechaFin)
        {
            int start = Request["start"] != null?Int16.Parse(Request["start"]) : 0;

            int lenght = Request["length"] != null?Int16.Parse(Request["length"]) : 10;

            string fechaInicial       = Request["fechaInicio"] != null ? Request["fechaInicio"] : "";
            string fechaFi            = Request["FechaFin"] != null ? Request["FechaFin"] : "";
            int    filtroMedidaTiempo = Request["filtroTiempo"] != null?Int16.Parse(Request["filtroTiempo"]) : 0;


            Medida        medida    = new Medida();
            int           pageCount = 0;
            List <Medida> medidas   = null;

            if (filtroMedidaTiempo <= 0)
            {
                medidas = medida.Listar(start, lenght, out pageCount, idDispositivo, fechaInicial, fechaFi);
            }
            else
            {
                medidas = medida.ListarPromedios(start, lenght, out pageCount, idDispositivo, fechaInicial, fechaFi, "", "", filtroMedidaTiempo);
            }


            List <double> temperaturaList = new List <double>();
            List <string> fechas          = new List <string>();

            List <double> umbralInferior = new List <double>();
            List <double> umbralSuperior = new List <double>();

            List <double> toleranciaSuperiorList = new List <double>();
            List <double> toleranciaInferiorList = new List <double>();

            decimal umbraMax      = 0;
            decimal umbraMin      = 0;
            decimal toleranciaMin = 0;
            decimal toleranciaMax = 0;

            try
            {
                umbraMax      = dbActiveContext.Umbrals.Where(p => p.DispositivoID == idDispositivo).FirstOrDefault().Temperatura_max;
                umbraMin      = dbActiveContext.Umbrals.Where(p => p.DispositivoID == idDispositivo).FirstOrDefault().Temperatura_min;
                toleranciaMin = dbActiveContext.Umbrals.Where(p => p.DispositivoID == idDispositivo).FirstOrDefault().Tolerancia_min;
                toleranciaMax = dbActiveContext.Umbrals.Where(p => p.DispositivoID == idDispositivo).FirstOrDefault().Tolerancia_max;
            }
            catch (Exception ex) { }


            foreach (Medida medidaTemp in medidas)
            {
                temperaturaList.Add((double)medidaTemp.Valor);
                fechas.Add(medidaTemp.FechaHora.ToString());
                umbralInferior.Add((double)umbraMin);
                umbralSuperior.Add((double)umbraMax);
                toleranciaSuperiorList.Add((double)toleranciaMax);
                toleranciaInferiorList.Add((double)toleranciaMin);
            }


            var resultado = new JsonResult();

            resultado.Data = new
            {
                fechas                 = fechas.ToArray(),
                temperaturas           = temperaturaList.ToArray(),
                umbralSuperior         = umbralSuperior.ToArray(),
                umbralInferior         = umbralInferior.ToArray(),
                toleranciaSuperiorList = toleranciaSuperiorList.ToArray(),
                toleranciaInferiorList = toleranciaInferiorList.ToArray(),
            };
            return(resultado);
        }