Ejemplo n.º 1
0
        //Obtener banda especifica
        public Respuesta getBanda(int pIDBanda)
        {
            bandas bandaQuery;

            try
            {
                //Obtener banda
                bandaQuery = _manejador.obtenerBanda(pIDBanda);
                if (bandaQuery == null)
                {
                    return(_fabricaRespuestas.crearRespuesta(false, "Banda no existente. Por favor intente de nuevo."));
                }
            } catch (Exception)
            {
                return(_fabricaRespuestas.crearRespuesta(false, "Error al obtener banda o no existe."));
                //return _fabricaRespuestas.crearRespuesta(false, "Error al obtener banda o no existe.", e.ToSring());
            }

            //Obtener generos musicales de banda
            List <generos> generosBandaQuery = _manejador.obtenerGenerosBanda(bandaQuery);

            GeneroMusical[]    arregloGenerosBandaQuery = _convertidor.createListaGenero(generosBandaQuery);
            List <integrantes> integrantesBandaQuery    = _manejador.obtenerIntegrantes(bandaQuery);

            //Lista de integrantes
            MiembroBanda[] arregloIntegrantesBandaQuery = _convertidor.createListaIntegrantes(integrantesBandaQuery);
            //Lista de canciones
            List <canciones> cancionesBandaQuery = _manejador.obtenerCanciones(bandaQuery);
            //Lista de comentarios
            List <comentarios> comentarioBandaQuery = _manejador.obtenerComentarios(bandaQuery); //Lista de comentarios

            //Organiza datos para envio
            JObject[] generosObj     = _serial.agruparGeneros(arregloGenerosBandaQuery);
            JObject[] miembrosObj    = _serial.agruparMiembros(arregloIntegrantesBandaQuery);
            JObject[] cancionesObj   = agruparCanciones(cancionesBandaQuery, bandaQuery.nombreBan);
            JObject[] comentariosObj = agruparComentarios(comentarioBandaQuery);

            dynamic band_dataObj = new JObject();

            band_dataObj.name         = bandaQuery.nombreBan;
            band_dataObj.image_band   = _spotify.searchArtistImages(bandaQuery.nombreBan);
            band_dataObj.calification = _manejador.getCalificacion(bandaQuery);
            band_dataObj.followers    = _spotify.searchArtistFollowers(bandaQuery.nombreBan);
            band_dataObj.popularity   = _spotify.searchArtistPopularity(bandaQuery.nombreBan);

            //Retorna respuesta exitosa
            Respuesta respuesta = _fabricaRespuestas.crearRespuesta(true, band_dataObj, generosObj, miembrosObj, cancionesObj, comentariosObj);

            return(respuesta);
        }