public JObject GetMainChartWeek([FromRoute] double longy, double lat)
        {
            string _selectString = "SELECT day.id, day.description, act.hour, act.people, act.density FROM \"MtcActivitys\" AS act INNER JOIN \"Days\" AS day ON act.day = day.id INNER JOIN \"Mtcs\" AS zone ON act.zone = zone.id WHERE ST_Contains(zone.geom, ST_SetSRID(ST_MakePoint(" + longy + "," + lat + "), 4326)) ORDER BY act.day, act.hour ASC";

            using (var conn = new NpgsqlConnection(connectionString))
            {
                conn.Open();

                using (var cmd = new NpgsqlCommand(_selectString, conn))
                {
                    using (var reader = cmd.ExecuteReader())
                    {
                        List <MainChartDTO> mainChartDtoList = new List <MainChartDTO>();

                        while (reader.Read())
                        {
                            InterfaceDataReader dataReader   = new DataReader();
                            MainChartDTO        mainChartDTO = dataReader.ReadMainChartDTO(reader);
                            mainChartDtoList.Add(mainChartDTO);
                        }

                        IObjectConverter objConverted = new ObjectConverter();
                        var obj = objConverted.MainChartWeekJson(mainChartDtoList);

                        return(obj);
                    }
                }
            }
        }
Exemple #2
0
        public MainChartDTO ReadMainChartDTO(NpgsqlDataReader reader)
        {
            var obj = new JObject();

            int     id      = reader.GetInt32(0);
            string  day     = reader.GetString(1);
            int     hour    = reader.GetInt32(2);
            int     people  = reader.GetInt32(3);
            decimal density = reader.GetDecimal(4);

            MainChartDTO mainChartDTO = new MainChartDTO
            {
                Id      = id,
                Day     = day,
                Hour    = hour,
                People  = people,
                Density = density
            };

            return(mainChartDTO);
        }