示例#1
0
        public void CrearAlbum_SinNombre_Falla()
        {
            var entrada = new EditarAlbumEntrada
            {
                Nombre = "",
            };

            var salida = _gestorDominio.EditarAlbum(entrada);

            Assert.IsTrue(salida == SalidaBase.Resultados.Fallo);
            Assert.AreEqual(Cadenas.album_falta_nombre, salida.Mensaje);
        }
示例#2
0
        public void EditarAlbum_SiNoExiste_Falla()
        {
            var entrada = new EditarAlbumEntrada
            {
                AlbumId = 10000000,
                Nombre  = "Interprete de pruebas",
            };

            var salida = _gestorDominio.EditarAlbum(entrada);

            Assert.IsTrue(salida == SalidaBase.Resultados.Fallo);
            Assert.AreEqual(string.Format(Cadenas.album_id_no_encontrado, 10000000), salida.Mensaje);
        }
示例#3
0
        public ActionResult Editar(FormCollection form)
        {
            var editarAlbumEntrada = new EditarAlbumEntrada
            {
                AlbumId        = Convert.ToInt32(form["Id"]),
                Nombre         = form["Nombre"],
                AñoLanzamiento = Convert.ToInt32(form["AñoLanzamiento"]),
            };

            EditarAlbumSalida editarAlbumSalida = _gestorDominio.EditarAlbum(editarAlbumEntrada);

            if (editarAlbumSalida != SalidaBase.Resultados.Exito)
            {
                PasarMensaje(editarAlbumSalida.Mensaje, "msj-error");
                return(RedirectToAction("Index"));
            }

            var interpretes = JsonConvert.DeserializeObject <List <MVInterprete> >(form["hidInterpretes"]);

            if (!RelacionarInterpretesAAlbum(editarAlbumSalida.Album.Id, interpretes, false))
            {
                return(RedirectToAction("Index"));
            }

            var canciones = JsonConvert.DeserializeObject <List <MVCancion> >(form["hidCanciones"]);

            if (!CrearCancionesNuevas(editarAlbumSalida.Album.Id, canciones, false))
            {
                return(RedirectToAction("Index"));
            }

            if (!AsociarCancionesExistentes(editarAlbumSalida.Album.Id, canciones))
            {
                return(RedirectToAction("Index"));
            }

            return(RedirectToAction("Index"));
        }
示例#4
0
        public EditarAlbumSalida EditarAlbum(EditarAlbumEntrada entrada)
        {
            var salida = new EditarAlbumSalida();

            if (string.IsNullOrEmpty(entrada.Nombre))
            {
                return(SalidaBase.Fallo(salida, Cadenas.album_falta_nombre));
            }

            Album album;

            if (entrada.AlbumId > 0)
            {
                album = _gestorPersistencia.TraerAlbum(entrada.AlbumId);
                if (album == null)
                {
                    return(SalidaBase.Fallo(salida, string.Format(Cadenas.album_id_no_encontrado, entrada.AlbumId)));
                }

                album.Nombre         = entrada.Nombre;
                album.AñoLanzamiento = entrada.AñoLanzamiento;
            }
            else
            {
                album = new Album
                {
                    Nombre         = entrada.Nombre,
                    FchCreacion    = DateTime.Now,
                    AñoLanzamiento = entrada.AñoLanzamiento,
                };
            }
            salida.Album = album;
            CrearVotable(album);
            _gestorPersistencia.Guardar(album);

            return(SalidaBase.Exito(salida));
        }