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); } } } }
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); }