public List <mapTower> LinesCordinate(int TowerID) { List <mapTower> mapTowerCordinate = new List <mapTower>(); using (IDbConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["DeviceConnection"].ConnectionString)) { var mapConnection = connection.Query <LineConnection>($"select * from LineConnection where ParentTowerID='{TowerID}'").ToList(); if (mapConnection.Count != 0) { mapConnection.ForEach(item => { mapTower mapcor = new mapTower(); var cord = connection.Query <TowerGps>($"select * from TowerGps where TowerID='{item.ChildTowerID}'").FirstOrDefault(); if (cord != null) { mapcor.lattitube = Double.Parse(cord.Lattitube.Remove(cord.Lattitube.Length - 2), CultureInfo.InvariantCulture); mapcor.longitube = Double.Parse(cord.Longitube.Remove(cord.Longitube.Length - 2), CultureInfo.InvariantCulture); mapcor.towerID = cord.TowerID; mapTowerCordinate.Add(mapcor); } }); } } return(mapTowerCordinate); }
public ActionResult mapStyle() { using (IDbConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["DeviceConnection"].ConnectionString)) { towerMap = connection.Query <TowerGps>("Select * From TowerGps ").ToList(); TowerLine = connection.Query <LineConnection>("Select * From LineConnection").ToList(); TowerLine = TowerLine.OrderBy(o => o.ParentTowerID).ToList(); towerMap.ForEach(item => { mapTower mapt = new mapTower(); mapt.lattitube = Double.Parse(item.Lattitube.Remove(item.Lattitube.Length - 2), CultureInfo.InvariantCulture); mapt.longitube = Double.Parse(item.Longitube.Remove(item.Longitube.Length - 2), CultureInfo.InvariantCulture); if (item.PresetName != null) { mapt.cityname = item.PresetName; } //DateTime start = DateTime.Now; //DateTime end = start.Add(new TimeSpan(-24, 0, 0)); //var alarmColor = connection.Query<Trap>($"select * from Trap where dateTimeTrap BETWEEN '{end}' and '{start}' and TowerName='{item.TowerName}'").ToList(); //if (alarmColor.Count != 0) //{ // if (alarmColor.LastOrDefault().AlarmStatus == "green" || alarmColor.LastOrDefault().AlarmStatus == "white" || alarmColor.LastOrDefault().AlarmStatus == null) // { // mapt.AlarmColor = "rgb(51, 51, 51)"; // mapt.TextColor = "white"; // } // else // { // mapt.AlarmColor = alarmColor.LastOrDefault().AlarmStatus; // mapt.TextColor = "white"; // } // if (alarmColor.LastOrDefault().AlarmStatus == "yellow") // { // mapt.TextColor = "black"; // } //} //if (alarmColor.Count == 0 || alarmColor.LastOrDefault().AlarmStatus == "white") //{ // mapt.AlarmColor = "rgb(51, 51, 51)"; //} mapt.TextColor = "white"; mapt.AlarmColor = "rgb(51, 51, 51)"; mapt.towerID = item.TowerID; mapt.towerCityName = item.TowerName.Substring(0, item.TowerName.IndexOf('_')); TowerMapCord.Add(mapt); }); TowerLine.ForEach(line => { mapLine ml = new mapLine(); var latlon = TowerMapCord.Where(t => t.towerID == line.ParentTowerID).FirstOrDefault(); ml.parentlattitube = latlon.lattitube; ml.parentlongitube = latlon.longitube; if (latlon.AlarmColor == "rgb(51, 51, 51)") { ml.AlarmLineColor = "#006699"; } else { ml.AlarmLineColor = latlon.AlarmColor; } latlon = TowerMapCord.Where(t => t.towerID == line.ChildTowerID).FirstOrDefault(); ml.childlattitube = latlon.lattitube; ml.childlongitube = latlon.longitube; LinesCon.Add(ml); }); // LinesCon.Add(new mapLine()); ViewBag.MapGPS = TowerMapCord; ViewBag.TowerLine = LinesCon; } return(View()); }