public void modificarGrupo(int IdGrupo, string Nombre, string Descripcion, bool activo, List<string> usuarios, Dictionary<int, List<int>> ListaIdPantallas_Controles) { try { GRuPOs grupo = database.GRuPOs.Where(g => g.IDGrupo == IdGrupo).Single(); grupo.Nombre = Nombre; grupo.Descripcion = Descripcion; if (activo) grupo.Activo = 1; else grupo.Activo = 0; UsUarIoSGRuPOs ug; EntitySet<UsUarIoSGRuPOs> lista = new EntitySet<UsUarIoSGRuPOs>(); foreach (string username in usuarios) { ug = new UsUarIoSGRuPOs(); int iduser = database.UsUarIoS.Where(u => u.UserName == username).Select(u=>u.IDUsuario).Single(); ug.IDUsuario = iduser; ug.GRuPOs = grupo; lista.Add(ug); } grupo.UsUarIoSGRuPOs = lista; List<PerMisOs> listaPermisos = new List<PerMisOs>(); PerMisOs permiso; PerMisOs control; foreach (int idpantalla in ListaIdPantallas_Controles.Keys) { permiso = new PerMisOs(); permiso.Activo = 1; permiso.IDPermiso = IdGrupo; permiso.IDControl = idpantalla; permiso.UsuarioOrgRupo = "G"; permiso.WinFormOrcOntrol = "W"; listaPermisos.Add(permiso); foreach (int idcontrol in ListaIdPantallas_Controles[idpantalla]) { control = new PerMisOs(); control.Activo = 1; control.IDPermiso = IdGrupo; control.IDControl = idcontrol; control.UsuarioOrgRupo = "G"; control.WinFormOrcOntrol = "C"; listaPermisos.Add(control); } } List<PerMisOs> permsViejos = (from reg in database.PerMisOs where reg.IDPermiso == IdGrupo && reg.UsuarioOrgRupo=="G" select reg).ToList(); //List<UsUarIoSGRuPOs> usugroupsViejos = (from reg in database.UsUarIoSGRuPOs // where reg.IDGrupo == IdGrupo // select reg).ToList(); //database.UsUarIoSGRuPOs.DeleteAllOnSubmit(usugroupsViejos); database.SubmitChanges(); database.PerMisOs.DeleteAllOnSubmit(permsViejos); database.SubmitChanges(); database.PerMisOs.InsertAllOnSubmit(listaPermisos); database.SubmitChanges(); } catch { ControladorDatos.createContext(); throw; } }
private void UsUarIoSGRuPOs_Detach(UsUarIoSGRuPOs entity) { entity.GRuPOs = null; }
public int altaGrupo(string Nombre, string Descripcion,bool activo,List<string> usuarios, Dictionary<int,List<int>> ListaIdPantallas_Controles) { GRuPOs grupo; try { grupo = new GRuPOs(); grupo.Nombre = Nombre; grupo.Descripcion = Descripcion; if (activo) grupo.Activo = 1; else grupo.Activo = 0; UsUarIoSGRuPOs ug; EntitySet<UsUarIoSGRuPOs> listaUsuariosGrupos = new EntitySet<UsUarIoSGRuPOs>(); foreach(string username in usuarios) { ug = new UsUarIoSGRuPOs(); UsUarIoS user = database.UsUarIoS.Where(u => u.UserName ==username).Single(); ug.UsUarIoS = user; ug.GRuPOs = grupo; listaUsuariosGrupos.Add(ug); } grupo.UsUarIoSGRuPOs = listaUsuariosGrupos; database.GRuPOs.InsertOnSubmit(grupo); database.SubmitChanges(); return grupo.IDGrupo; } catch { throw; } }
private void UsUarIoSGRuPOs_Attach(UsUarIoSGRuPOs entity) { entity.GRuPOs = this; }