Пример #1
0
        //Registrar nueva banda en el sistema
        public Respuesta nuevaBanda(string pNombre, JArray pMiembros,
                                    JArray pCanciones, JArray pGeneros)
        {
            Respuesta respuesta = null;
            Banda     banda     = new Banda(pNombre, _manejador.obtenerEstado(1).estado);

            string[] miembros = _serial.getArrayString(pMiembros);
            if (miembros.Length < 1)
            {
                return(_fabricaRespuestas.crearRespuesta(false, "Debe ingresar al menos un integrante de banda."));
            }

            string[] canciones = _serial.getArrayString(pCanciones);
            if (canciones.Length < 3)
            {
                return(_fabricaRespuestas.crearRespuesta(false, "Error, se ingresaron menos de las 3 canciones mínimas para banda nueva. Por favor intente nuevo."));
            }
            else if (canciones.Length > 10)
            {
                return(_fabricaRespuestas.crearRespuesta(false, "Error, se ingresaron más de 10 canciones máximas. Por favor intente con menos."));
            }

            int[] generos = _serial.getArrayInt(pGeneros);
            if (generos.Length > 10 || generos.Length < 1)
            {
                return(_fabricaRespuestas.crearRespuesta(false, "Error: Se deben seleccionar de 1 a 10 géneros musicales. Por favor intente con 10 o menos."));
            }

            //Almacena banda nueva
            try
            {
                bandas bandaNueva = _manejador.obtenerBanda(banda.Nombre);
                if (bandaNueva != null)
                {
                    return(_fabricaRespuestas.crearRespuesta(false, "Error: Banda ya existente. Por favor intente de nuevo."));
                }

                _manejador.añadirBanda(_convertidor.updatebandas(banda),
                                       _convertidor.updateintegrantes(miembros),
                                       _convertidor.updatecanciones(canciones),
                                       _convertidor.updateListaGeneros(generos));
                respuesta = _fabricaRespuestas.crearRespuesta(true, "Banda registrada correctamente.");
            } catch (Exception)
            {
                //Retorna respuesta de error
                respuesta = _fabricaRespuestas.crearRespuesta(false, "Fallo al ingresar banda o banda ya existente.");
                //respuesta = _fabricaRespuestas.crearRespuesta(false, "Fallo al ingresar banda o banda ya esxistente.", e.ToString());
            }

            return(respuesta);
        }
Пример #2
0
        public void getArrayIntTest()
        {
            /* Arrange */
            string x = @"[1,2,3]";

            /* Act */
            JArray _arr = JArray.Parse(x);

            int[] _test = _help.getArrayInt(_arr);

            /* Assert */
            Assert.AreEqual(_test[0], _arr[0]);
            Assert.AreEqual(_test[1], _arr[1]);
            Assert.AreEqual(_test[2], _arr[2]);
        }
Пример #3
0
        //Modificar usuario
        public Respuesta modificarUsuario(string tipoUsuario, dynamic pDatosUsuario, JArray pListaGenerosFavoritos)
        {
            Respuesta respuesta = null;
            usuarios  usuario   = null;

            //Elige el tipo de usuario
            switch (tipoUsuario)
            {
            case "fanatico":        //Si el usuario es fanatico
                Fanatico fanaticoModificacion = new Fanatico();
                fanaticoModificacion.deserialize(pDatosUsuario);
                fanaticoModificacion.Estado      = _manejador.obtenerEstado(1).estado;
                fanaticoModificacion.TipoUsuario = _manejador.obtenerTipoUsuario(2).tipo;

                //Verificar que el usuario exista
                if (comprobarUsuarioUnico(fanaticoModificacion))
                {
                    return(_fabricaRespuestas.crearRespuesta(false, "Ya se encuentra en uso el nombre de usuario. Intente con otro por favor."));
                }

                //Comprobar generos musicales favoritos seleccionados
                int[] arregloGenerosFavoritos = _serial.getArrayInt(pListaGenerosFavoritos);
                if (arregloGenerosFavoritos.Length > 10)
                {
                    return(_fabricaRespuestas.crearRespuesta(false, "Se seleccionaron más del máximo de 10 géneros musicales favoritos. Por favor intente con 10."));
                }

                List <generos> listaGenerosFavoritos = new List <generos>();
                try
                {
                    for (int i = 0; i < arregloGenerosFavoritos.Length; i++)
                    {
                        listaGenerosFavoritos.Add(_manejador.obtenerGenero(arregloGenerosFavoritos[i]));
                    }
                }
                catch (Exception)
                {
                    //Retorna respuesta de fallo
                    return(_fabricaRespuestas.crearRespuesta(false, "Fallo al seleccionar los generos favoritos."));
                }

                //Almacena modificacion de usuario
                respuesta = _fabricaRespuestas.crearRespuesta(true, fanaticoModificacion.serialize());
                break;

            case "colaborador":                                                              //Si el usuario es colaborador
                Colaborador colaboradorModificacion = new Colaborador();
                colaboradorModificacion.deserialize(pDatosUsuario);                          //Parse JSON
                colaboradorModificacion.Estado      = _manejador.obtenerEstado(1).estado;    //Rol colaborador
                colaboradorModificacion.TipoUsuario = _manejador.obtenerTipoUsuario(1).tipo; //Establece como activo

                if (comprobarUsuarioUnico(colaboradorModificacion))
                {
                    return(_fabricaRespuestas.crearRespuesta(false, "Ya se encuentra en uso el nombre de usuario. Intente con otro por favor."));
                }

                //Almacena modificacion de colaborador
                //usuario = _manejador.añadirUsuario(_convertidor.updateusuarios(nuevoColaborador)); //Se almacena el nuevo usuario
                //nuevoColaborador = (Colaborador)_convertidor.createUsuario(usuarioCreado); //Almacena nuevo colaborador

                //Retorna respuesta exitosa
                respuesta = _fabricaRespuestas.crearRespuesta(true, colaboradorModificacion.serialize());
                break;

            default:
                //Si el tipo de usuario no existe. Retorna mensaje error
                respuesta = _fabricaRespuestas.crearRespuesta(false, "Tipo de usuario no existente. Intente de nuevo por favor.");
                break;
            }

            return(respuesta);
        }