示例#1
0
        public CrearCancionesEnAlbumSalida CrearCancionesEnAlbum(CrearCancionesEnAlbumEntrada entrada)
        {
            var salida = new CrearCancionesEnAlbumSalida();

            if (entrada.Canciones.Any(string.IsNullOrEmpty))
            {
                return(SalidaBase.Fallo(salida, Cadenas.album_cancion_sin_nombre));
            }

            var album = _gestorPersistencia.TraerAlbum(entrada.AlbumId);

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

            var cancionesGuardar = from c in entrada.Canciones
                                   select new Cancion {
                Nombre = c, AlbumId = album.Id, FchCreacion = DateTime.Now
            };

            foreach (var cancion in cancionesGuardar)
            {
                CrearVotable(cancion);
                _gestorPersistencia.Guardar(cancion);
            }

            return(SalidaBase.Exito(salida));
        }
示例#2
0
        private bool CrearCancionesNuevas(int album, IList <MVCancion> canciones, bool fallarSiVacio)
        {
            if (canciones.Count == 0)
            {
                return(!fallarSiVacio);
            }
            var entrada = new CrearCancionesEnAlbumEntrada
            {
                AlbumId   = album,
                Canciones = canciones.Select(i => i.Nombre).ToList(),
            };
            var salida = _gestorDominio.CrearCancionesEnAlbum(entrada);

            if (salida == SalidaBase.Resultados.Exito)
            {
                return(true);
            }

            PasarMensaje(salida.Mensaje, "msj-error");
            return(false);
        }