コード例 #1
0
        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;
            }
        }
コード例 #2
0
		private void UsUarIoSGRuPOs_Detach(UsUarIoSGRuPOs entity)
		{
			entity.GRuPOs = null;
		}
コード例 #3
0
        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;
            }
        }
コード例 #4
0
		private void UsUarIoSGRuPOs_Attach(UsUarIoSGRuPOs entity)
		{
			entity.GRuPOs = this;
		}