private Rol InflateRol(SqlDataReader reader) { byte accses = reader.GetByte(reader.GetOrdinal("tipo")); bool endabled = reader.GetBoolean(reader.GetOrdinal("estado")); List <UserType> access = new List <UserType>(); switch (accses) { case 1: access.Add(UserType.Administrador); break; case 3: access.Add(UserType.Cliente); break; case 4: access.Add(UserType.Administrador); access.Add(UserType.Cliente); break; case 5: access.Add(UserType.Proveedor); break; case 6: access.Add(UserType.Administrador); access.Add(UserType.Proveedor); break; case 8: access.Add(UserType.Cliente); access.Add(UserType.Proveedor); break; case 9: access.Add(UserType.Administrador); access.Add(UserType.Cliente); access.Add(UserType.Proveedor); break; default: throw new WrongUserTypeIdException("Problema en el casteo del acesso"); break; } Rol rol = new Rol(reader.GetInt32(0), reader["nombre"].ToString(), access, endabled); Console.WriteLine("Usuario con rol:{0} estado: {1}", rol.GetUserTypes(), rol.name); return(rol); }