public static bool PointInPolygon(this @List <Position> basePolygon, Position testPosition) { int counter = basePolygon.Count(); int windingNumber = 0; basePolygon.Add(new Position(basePolygon[0].Latitude, basePolygon[0].Longitude)); Position[] polygon = basePolygon.ToArray(); for (int i = 0; i < counter; i++) { if (polygon[i].Latitude <= testPosition.Latitude) { if (polygon[i + 1].Latitude > testPosition.Latitude) { if (IsLeft(polygon[i], polygon[i + 1], testPosition) > 0) { ++windingNumber; } } } else { if (polygon[i + 1].Latitude > testPosition.Latitude) { if (IsLeft(polygon[i], polygon[i + 1], testPosition) > 0) { ++windingNumber; } } } } return(windingNumber != 0 ? true : false); }
public void FB_Tag(List <string> RET, string IDPost, string content = "Nội dung tag", @List <string> ListUID = default(List <string>), int SoLuongTag1Lan = 3, int ThoiGianGiua2LanTag = 15000) { if (ListUID == default(List <string>)) { ListUID = new List <string>(); } string sTag = ""; for (int i = 0; i < SoLuongTag1Lan; i++) { if (ListUID.Count >= SoLuongTag1Lan) { if (ListUID[i] != null) { sTag += "+@[" + ListUID[i] + ":0]"; } else { sTag += ""; } } else { sTag += ""; } } for (int i = 0; i < SoLuongTag1Lan; i++) { if (ListUID.Count >= SoLuongTag1Lan) { if (ListUID[i] != null) { ListUID.RemoveAt(0); } else { break; } } else { break; } } while (ListUID.Count > 0) { string url = "https://graph.facebook.com/" + IDPost + "/comments?method=post&access_token=" + RET[3] + "&message=" + content + sTag; string s = http.Get(url).ToString(); string result = Regex.Match(s, "\"id\": \"(.*?)\"").Groups[1].Value; MessageBox.Show(result); Thread.Sleep(ThoiGianGiua2LanTag); FB_Tag(RET, IDPost, content, ListUID, SoLuongTag1Lan); } // return result; }