public void CompletarComponentesFamilia(PerfilFamiliaBE familia) { familia.VaciarHijos(); foreach (var item in ObtenerTodo(familia)) { familia.AgregarHijo(item); } }
public void CargarPerfilUsuario(UsuarioBE Us) { Acceso nAcceso = new Acceso(); Hashtable Parametros = new Hashtable(); Parametros.Add("IdUsuario", Us.Id); DataSet DS = new DataSet(); DS = nAcceso.LeerDatos("sp_ListaPermisosUsuario", Parametros); Us.Permisos.Clear(); if (DS.Tables[0].Rows.Count > 0) { foreach (DataRow Item in DS.Tables[0].Rows) { var IdPermiso = Convert.ToInt32(Item["Id"]); var DescPermiso = Convert.ToString(Item["Descripcion"]); var Permiso = string.Empty; if (Item["Permiso"] != DBNull.Value) { Permiso = Convert.ToString(Item["Permiso"]); } if (!String.IsNullOrEmpty(Permiso)) { PerfilPatenteBE Patente = new PerfilPatenteBE(); Patente.Id = IdPermiso; Patente.Descripcion = DescPermiso; Patente.Permiso = (PerfilTipoPermisoBE)Enum.Parse(typeof(PerfilTipoPermisoBE), Permiso); Us.Permisos.Add(Patente); } else { PerfilFamiliaBE Familia = new PerfilFamiliaBE(); Familia.Permiso = (PerfilTipoPermisoBE)Enum.Parse(typeof(PerfilTipoPermisoBE), "Ninguno"); // Se hace esto porque al instanciar la familia asigna un permiso enum automáticamente Familia.Id = IdPermiso; Familia.Descripcion = DescPermiso; var Arbol = ObtenerTodo(Familia); foreach (var hijo in Arbol) { Familia.AgregarHijo(hijo); } Us.Permisos.Add(Familia); } } } }