Esempio n. 1
0
        public string estadisticas([FromBody] DatosMapaInput data)
        {
            ConexionEspol conexionEspol = new ConexionEspol();
            TipoSemana    tipoSemana    = JsonConvert.DeserializeObject <TipoSemana>(conexionEspol.TipoSemana(data.Fecha).Result);
            string        resultado     = conexionEspol.estadisticas(data.Fecha).Result;

            return(resultado);
        }
Esempio n. 2
0
        public List <DatosMapaRetorno> datosMapa([FromBody] DatosMapaInput data)
        {
            ConexionEspol      conexionEspol = new ConexionEspol();
            List <DatosMapaWS> datosQuery    = JsonConvert.DeserializeObject <List <DatosMapaWS> >(conexionEspol.datosMapa(data.Fecha).Result);
            Dictionary <int, DatosMapaRetorno> cantPorLugar = new Dictionary <int, DatosMapaRetorno>();
            Dictionary <int, List <string> >   latsYLongs   = new Dictionary <int, List <string> >();
            Dictionary <int, int> hijoPadre = new Dictionary <int, int>();

            foreach (var dato in datosQuery)
            {
                int    idUsar   = dato.idLugar;
                string latitud  = dato.latitud;
                string longitud = dato.longitud;

                //Si es null, busco en la base local o en los diccionarios
                if (latitud == null || longitud == null)
                {
                    if (hijoPadre.ContainsKey(dato.idLugar))
                    {
                        latitud  = latsYLongs[hijoPadre[dato.idLugar]][0];
                        longitud = latsYLongs[hijoPadre[dato.idLugar]][1];
                        idUsar   = hijoPadre[dato.idLugar];
                    }
                    else if (latsYLongs.ContainsKey(dato.idLugar))
                    {
                        latitud  = latsYLongs[dato.idLugar][0];
                        longitud = latsYLongs[dato.idLugar][1];
                    }
                    else
                    {
                        var latLong = this.buscarLatitudYLongitud(dato.idLugar);
                        latitud  = latLong[0];
                        longitud = latLong[1];
                        if (latitud != null && longitud != null)
                        {
                            latsYLongs.Add(dato.idLugar, latLong);
                        }
                    }
                }

                //Si sigue siendo null, busco la información del padre en la base local y en la base de espol
                if ((latitud == null || longitud == null) && !hijoPadre.ContainsKey(dato.idLugar))
                {
                    var idPadre = JsonConvert.DeserializeObject <IdPadre>(conexionEspol.idLugarPadre(dato.idLugar).Result);
                    var latLong = this.buscarLatitudYLongitud(idPadre.idPadre, true);
                    latitud  = latLong[0];
                    longitud = latLong[1];
                    if (!latsYLongs.ContainsKey(idPadre.idPadre))
                    {
                        latsYLongs.Add(idPadre.idPadre, latLong);
                    }
                    hijoPadre.Add(dato.idLugar, idPadre.idPadre);
                    idUsar = hijoPadre[dato.idLugar];
                }

                if (!cantPorLugar.ContainsKey(idUsar))
                {
                    cantPorLugar.Add(idUsar, new DatosMapaRetorno
                    {
                        lat   = latitud,
                        lng   = longitud,
                        count = 0,
                    });
                }
                cantPorLugar[idUsar].count += dato.numRegistrados;
            }

            var reuniones = context.TBL_Reunion.Where(x => x.cancelada == "F" && x.fechaInicio <= data.Fecha && x.fechaFin > data.Fecha).ToList();

            foreach (Reunion reunion in reuniones)
            {
                int    idUsar   = reunion.idLugar;
                string latitud  = null;
                string longitud = null;

                if (hijoPadre.ContainsKey(reunion.idLugar))
                {
                    latitud  = latsYLongs[hijoPadre[reunion.idLugar]][0];
                    longitud = latsYLongs[hijoPadre[reunion.idLugar]][1];
                    idUsar   = hijoPadre[reunion.idLugar];
                }
                else if (latsYLongs.ContainsKey(reunion.idLugar))
                {
                    latitud  = latsYLongs[reunion.idLugar][0];
                    longitud = latsYLongs[reunion.idLugar][1];
                }
                else
                {
                    var latLong = this.buscarLatitudYLongitud(reunion.idLugar);
                    latitud  = latLong[0];
                    longitud = latLong[1];
                    if (latitud != null && longitud != null)
                    {
                        latsYLongs.Add(reunion.idLugar, latLong);
                    }
                }

                //Si sigue siendo null, busco la información del padre en la base local y en la base de espol
                if ((latitud == null || longitud == null) && !hijoPadre.ContainsKey(reunion.idLugar))
                {
                    var idPadre = JsonConvert.DeserializeObject <IdPadre>(conexionEspol.idLugarPadre(reunion.idLugar).Result);
                    var latLong = this.buscarLatitudYLongitud(idPadre.idPadre, true);
                    latitud  = latLong[0];
                    longitud = latLong[1];
                    if (!latsYLongs.ContainsKey(idPadre.idPadre))
                    {
                        latsYLongs.Add(idPadre.idPadre, latLong);
                    }
                    hijoPadre.Add(reunion.idLugar, idPadre.idPadre);
                    idUsar = hijoPadre[reunion.idLugar];
                }

                if (!cantPorLugar.ContainsKey(idUsar))
                {
                    cantPorLugar.Add(idUsar, new DatosMapaRetorno
                    {
                        lat   = latitud,
                        lng   = longitud,
                        count = 0,
                    });
                }
                cantPorLugar[idUsar].count += this.context.TBL_Invitacion.Where(x => x.idReunion == reunion.id && x.estado == "A" && x.cancelada == "F").Count() + 1; //+1 por el id del creador;
            }

            return(cantPorLugar.Values.ToList());
        }
Esempio n. 3
0
        public string tipoSemana([FromBody] DatosMapaInput data)
        {
            ConexionEspol conexionEspol = new ConexionEspol();

            return(conexionEspol.TipoSemana(data.Fecha).Result);
        }
Esempio n. 4
0
        public string periodoDeFecha([FromBody] DatosMapaInput data)
        {
            ConexionEspol conexionEspol = new ConexionEspol();

            return(conexionEspol.PeriodoDeFecha(data.Fecha).Result);
        }