Exemple #1
0
        public JObject GetAreaInfluenceWeek([FromRoute] double longy, double lat)
        {
            string _selectString = "SELECT SUM(AREA) / 1000000 AS area FROM(SELECT DISTINCT ON(homezone) ST_Area(homezone.geom::geography) as AREA FROM \"MtcHomezones\" AS hz INNER JOIN \"Mtcs\" AS homezone ON homezone.id = hz.homezone INNER JOIN \"Mtcs\" AS zone ON zone.id = hz.zone WHERE ST_Contains(zone.geom, ST_SetSRID(ST_MakePoint(" + longy + " , " + lat + "), 4326))) s";

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

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

                        while (reader.Read())
                        {
                            InterfaceDataReader dataReader         = new DataReader();
                            AreaOfInfluenceDTO  areaOfInfluenceDTO = dataReader.ReadAreaOfInfluenceDTO(reader);
                            areaOfInfluenceDtoList.Add(areaOfInfluenceDTO);
                        }

                        IObjectConverter objConverted = new ObjectConverter();
                        var obj = objConverted.AreaOfInfluenceJson(areaOfInfluenceDtoList);

                        return(obj);
                    }
                }
            }
        }
Exemple #2
0
        public AreaOfInfluenceDTO ReadAreaOfInfluenceDTO(NpgsqlDataReader reader)
        {
            double area = reader.GetDouble(0);

            AreaOfInfluenceDTO areaOfInfluenceDTO = new AreaOfInfluenceDTO
            {
                Area = area
            };

            return(areaOfInfluenceDTO);
        }