public string CopyToAfter(MapControlTools mapControlTools) { // copy the current hazard map to hazardmapafter using (DB.ResTBContext db = new DB.ResTBContext()) { HazardMap hm = db.HazardMaps.Include(m => m.Project).Include(m => m.NatHazard).OrderByDescending(u => u.ID).FirstOrDefault(); if (hm.Project.Id == Project) { string copySQL = "insert into \"HazardMap\" (\"Index\",\"BeforeAction\", \"NatHazard_ID\" , \"Project_Id\" , geometry ) " + "select \"Index\" , false, \"NatHazard_ID\" , \"Project_Id\" , geometry from " + "\"HazardMap\" where \"ID\" = " + hm.ID; db.Database.ExecuteSqlCommand(copySQL); ResTBHazardMapLayer hazard = new ResTBHazardMapLayer( Project, false, NatHazard, Index); if (!mapControlTools.Layers.Where(m => m.Name.Equals(hazard.Name)).Any()) { mapControlTools.AddProjectLayer(hazard); } return(hazard.Name); } } return(""); }
public override object GetObjectFromShape(Shapefile shapefile, int index) { var myId = shapefile.FieldIndexByName["ID"]; int hmId = shapefile.CellValue[myId, index]; // Search the corresponding maphazard Object using (DB.ResTBContext db = new DB.ResTBContext()) { HazardMap hm = db.HazardMaps.AsNoTracking().Where(m => m.ID == hmId).FirstOrDefault(); return(hm); } }