public static void actualizarSectoresEdificio(edificio edificio, List<sector> sectores) { try { admEntities db = Datos.getDB(); var s = db.edificios_sectores.Where(x => x.dir_edificio == edificio.direccion).ToList(); foreach (var sectB in s) { db.edificios_sectores.Remove(sectB); } foreach (sector sect in sectores) { edificios_sectores es = new edificios_sectores(); es.dir_edificio = edificio.direccion; es.id_sector = sect.idsector; db.edificios_sectores.Add(es); } db.SaveChanges(); } catch (Exception e) { string str = e.InnerException == null ? e.Message : e.InnerException.Message; Logger.Log.write(str); throw e; } }
public static void actualizarSectoresEdificioWeb(edificio edificio, List<sector> sectoresNuevos) { try { admEntities db = Datos.getDB(); var ESActuales = db.edificios_sectores.Where(x => x.dir_edificio == edificio.direccion).ToList(); var ed = db.edificio.Where(x => x.direccion == edificio.direccion).SingleOrDefault(); var allSectores = db.sector.ToList(); List<edificios_sectores> ESaBorrar = new List<edificios_sectores>(); List<sector> SectoresAAgregar = new List<sector>(); foreach (var s in sectoresNuevos) if (ESActuales.Where(x => x.sector.descripcion == s.descripcion).SingleOrDefault() == null) SectoresAAgregar.Add(s); foreach (var es in ESActuales) if (sectoresNuevos.Where(x => x.descripcion == es.sector.descripcion).SingleOrDefault() == null) db.edificios_sectores.Remove(es); foreach(var s in SectoresAAgregar) { edificios_sectores es = new edificios_sectores(); es.dir_edificio = ed.direccion; es.id_sector = s.idsector; es.sector = db.sector.Where(x => x.descripcion == s.descripcion).SingleOrDefault(); db.edificios_sectores.Add(es); } db.SaveChanges(); } catch (Exception e) { string str = e.InnerException == null ? e.Message : e.InnerException.Message; Logger.Log.write(str); throw e; } }