public void UpdateGeocerca(geocercaSerial geocerca, List <puntosgeoSerial> puntosgeos) { using (var tr = db.Database.BeginTransaction()) { try { homeCtrl = new HomeController(); var user = HttpContext.Current.User.Identity.Name; string nit = homeCtrl.obtenerNit(user); geo = db.Geocerca.Where(s => s.CodigoGEO == geocerca.CodGeocerca).FirstOrDefault(); geo.CodTipoGEO = geocerca.CodTipoGEO; geo.ColorLimite = geocerca.ColorLimite; geo.ColorRelleno = geocerca.ColorRelleno; geo.Descripcion = geocerca.Descripcion; geo.NIT = nit; db.PuntosGeocerca.RemoveRange(db.PuntosGeocerca.Where(s => s.CodigoGEO == geo.CodigoGEO)); db.SaveChanges(); foreach (var item in puntosgeos) { pgeo = new WISETRACK.Datos.PuntosGeocerca { CodigoGEO = geo.CodigoGEO, Latitud = item.Latitud, Longitud = item.Longitud, UsuaReg = user, FechaReg = DateTime.Now, }; db.PuntosGeocerca.Add(pgeo); db.SaveChanges(); } tr.Commit(); } catch (Exception ex) { tr.Rollback(); throw new Exception("Negocio AddGeocerca", ex); } } }