public Usuario(SitioWebOasis.WSSeguridad.dtstUsuario dsUsuario) { DataRow drUsuario = dsUsuario.Tables["Usuarios"].Rows[0]; this._Login = drUsuario["strLogin"].ToString(); this._Nombre = drUsuario["strNombre"].ToString(); this._Cedula = drUsuario["strCedula"].ToString(); this._dtInicioSession = DateTime.Now; this._lstUltimosPeriodoVigenteCarrera(dsUsuario); DataRow[] drRoles = drUsuario.GetChildRows("UsuariosRoles"); this._roles = new Rol[this.GetNumRoles(dsUsuario)]; int i = 0; foreach (DataRow drRol in drRoles) { DataRow[] drCarreras = drRol.GetChildRows("RolesCarreras"); DataRow[] drFacultades = drRol.GetChildRows("RolesFacultades"); Rol nuevoRol = null; if (drCarreras.Length != 0) // crear roles de carrera { foreach (DataRow drCarrera in drCarreras) { nuevoRol = new RolCarrera(drRol["strIDRol"].ToString(), drRol["strNombreRol"].ToString(), this.CrearCarrera(drCarrera)); this._roles[i] = nuevoRol; if (i == 0) // asignación del rol actual { this._RolActual = nuevoRol; } i++; } } else if (drFacultades.Length != 0) // crear roles de facultad { foreach (DataRow drFacultad in drFacultades) { nuevoRol = new RolFacultad(drRol["strIDRol"].ToString(), drRol["strNombreRol"].ToString(), this.CrearFacultad(drFacultad)); this._roles[i] = nuevoRol; if (i == 0) // asignación del rol actual { this._RolActual = nuevoRol; } i++; } } else // crear rol convencional { nuevoRol = new Rol(drRol["strIDRol"].ToString(), drRol["strNombreRol"].ToString()); this._roles[i] = nuevoRol; if (i == 0) // asignación del rol actual { this._RolActual = nuevoRol; } i++; } } }
public ArrayList GetCarreras(Roles rol) { ArrayList listaCarreras = new ArrayList(); foreach (Rol r in this._roles) { if ((r is RolCarrera) && (r.ID == rol)) { RolCarrera rolc = (RolCarrera)r; listaCarreras.Add(rolc.carrera); } } return(listaCarreras); }
public void SetRolCarreraActual(Roles IDRol, string strCodCarrera) { foreach (Rol r in this.roles) { if (r is RolCarrera) { RolCarrera rol = (RolCarrera)r; if (rol.Equals(IDRol, strCodCarrera)) { this._RolActual = rol; return; } } } }