public JObject GetMinChart2week() { string _selectString = "SELECT b.\"Gid\", b.\"Id\", a.\"ZoneAct\", SUM(a.\"CountAct\") AS People, b.\"Geom\" FROM \"MtcActivitys\" a INNER JOIN \"Mtcs\" b ON a.\"ZoneAct\" = b.\"Id\" GROUP BY b.\"Gid\", b.\"Id\", a.\"ZoneAct\", b.\"Geom\" ORDER BY People ASC LIMIT 5"; using (var conn = new NpgsqlConnection(connectionString)) { conn.Open(); using (var cmd = new NpgsqlCommand(_selectString, conn)) { using (var reader = cmd.ExecuteReader()) { List <TopDTO> TopDtoList = new List <TopDTO>(); while (reader.Read()) { InterfaceDataReader dataReader = new DataReader(); TopDTO topDTO = dataReader.ReadTopDTO(reader); TopDtoList.Add(topDTO); } IObjectConverter objConverted = new ObjectConverter(); var obj = objConverted.MinPeopleJson(TopDtoList); return(obj); } } } }
public TopDTO ReadTopDTO(NpgsqlDataReader reader) { int gid = reader.GetInt32(0); int id = reader.GetInt32(1); int zoneAct = reader.GetInt32(2); int people = reader.GetInt32(3); Geometry geom = reader.GetValue(4) as NetTopologySuite.Geometries.Geometry; TopDTO topDTO = new TopDTO { Id = id, ZoneAct = zoneAct, People = people, Geom = geom }; return(topDTO); }