void Nuevo() { Master.Titulo = "NUEVO USUARIO"; this.nuevo = true; trContrasena.Visible = true; trContrasena2.Visible = true; trRegistro.Visible = false; trUltimaModificacion.Visible = false; DataTable tFunciones = GUsuarios.TraerFuncionesVisibles().Tables[0]; lvwGrupos.DataSource = from rGrupo in tFunciones.AsEnumerable() group rGrupo by new { NombreGrupoFuncion = rGrupo["NombreGrupoFuncion"].ToString(), OrdenGrupoFuncion = rGrupo.Field <int>("OrdenGrupoFuncion") } into gGrupo orderby gGrupo.Key.OrdenGrupoFuncion select new { NombreGrupoFuncion = gGrupo.Key.NombreGrupoFuncion, Funciones = from rFuncion in gGrupo orderby rFuncion.Field <int>("Orden") select new { CodigoFuncion = rFuncion["CodigoFuncion"].ToString(), NombreFuncion = rFuncion["NombreFuncion"].ToString(), Seleccionado = "N" } }; lvwGrupos.DataBind(); }
void Editar(int idUsuario) { Master.Titulo = "EDICIÓN DE USUARIO"; this.nuevo = false; trContrasena.Visible = false; trContrasena2.Visible = false; trRegistro.Visible = true; trUltimaModificacion.Visible = true; DataSet dsUsuario = GUsuarios.TraerUsuario(idUsuario); DataTable tFuncionesAsignadas = dsUsuario.Tables[1]; if (dsUsuario.Tables[0].Rows.Count == 0) { Response.Redirect("~/no_encontrado", true); return; } DataRow rUsuario = dsUsuario.Tables[0].Rows[0]; txbNombre.Value = rUsuario["Nombre"].ToString(); txbNombre.Value = rUsuario["Nombre"].ToString(); txbApellidoPaterno.Value = rUsuario["ApellidoPaterno"].ToString(); txbApellidoMaterno.Value = rUsuario["ApellidoMaterno"].ToString(); txbCuenta.Value = rUsuario["Cuenta"].ToString(); txbCorreo.Value = rUsuario["Correo"].ToString(); ddlEstado.Value = rUsuario.Field <int>("Estado").ToString(); lblRegistro.InnerText = rUsuario["NombreUsuReg"].ToString() + " - " + Utils.Varios.LeerUTC(rUsuario.Field <DateTime>("FecReg")).ToString("g"); lblUltimaModificacion.InnerText = rUsuario["NombreUsuMod"].ToString() + " - " + Utils.Varios.LeerUTC(rUsuario.Field <DateTime>("FecMod")).ToString("g"); DataTable tFunciones = GUsuarios.TraerFuncionesVisibles().Tables[0]; tFunciones.Columns.Add("Seleccionado"); foreach (DataRow rFuncion in tFunciones.Rows) { if (tFuncionesAsignadas.Select("CodigoFuncion='" + rFuncion["CodigoFuncion"].ToString() + "'").Length > 0) { rFuncion["Seleccionado"] = "S"; } else { rFuncion["Seleccionado"] = "N"; } } tFunciones.AcceptChanges(); lvwGrupos.DataSource = from rGrupo in tFunciones.AsEnumerable() group rGrupo by new { NombreGrupoFuncion = rGrupo["NombreGrupoFuncion"].ToString(), OrdenGrupoFuncion = rGrupo.Field <int>("OrdenGrupoFuncion") } into gGrupo orderby gGrupo.Key.OrdenGrupoFuncion select new { NombreGrupoFuncion = gGrupo.Key.NombreGrupoFuncion, Funciones = from rFuncion in gGrupo orderby rFuncion.Field <int>("Orden") select new { CodigoFuncion = rFuncion["CodigoFuncion"].ToString(), NombreFuncion = rFuncion["NombreFuncion"].ToString(), Seleccionado = rFuncion["Seleccionado"].ToString() } }; lvwGrupos.DataBind(); ClientScript.RegisterStartupScript(GetType(), "Editar", "idUsuario=" + idUsuario + ";", true); if (Request.QueryString["exito"] == "S") { ClientScript.RegisterStartupScript(GetType(), "Exito", "exito='S';", true); } }