Ejemplo n.º 1
0
        public async Task <IActionResult> SaveFolder(MediaFolderModel model, MediaType?filter = null)
        {
            try
            {
                await _service.SaveFolder(model);

                var result = await _service.GetList(model.ParentId, filter);

                result.Status = new StatusMessage
                {
                    Type = StatusMessage.Success,
                    Body = $"The folder <code>{ model.Name }</code> was saved"
                };

                return(Ok(result));
            }
            catch (ValidationException e)
            {
                var result = new AliasListModel();
                result.Status = new StatusMessage
                {
                    Type = StatusMessage.Error,
                    Body = e.Message
                };
                return(BadRequest(result));
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        ///		Carga una estructura de carpetas
        /// </summary>
        internal MediaFolderModel Load(string fileName)
        {
            var    folder = new MediaFolderModel();
            MLFile fileML = new XMLParser().Load(fileName);

            // Si existe el archivo, lo carga
            if (fileML != null)
            {
                foreach (MLNode nodeML in fileML.Nodes)
                {
                    if (nodeML.Name == TagRoot)
                    {
                        foreach (MLNode childML in nodeML.Nodes)
                        {
                            if (childML.Name == TagFolder)
                            {
                                folder.Folders.Add(LoadFolder(folder, childML));
                            }
                            else if (childML.Name == TagAlbum)
                            {
                                folder.Albums.Add(LoadAlbums(folder, childML));
                            }
                        }
                    }
                }
            }
            // Devuelve la carpeta cargada
            return(folder);
        }
Ejemplo n.º 3
0
 public async Task SaveFolder(MediaFolderModel model)
 {
     await _api.Media.SaveFolderAsync(new MediaFolder
     {
         ParentId = model.ParentId,
         Name     = model.Name
     });
 }
Ejemplo n.º 4
0
 public AlbumViewModel(MediaFolderModel parent, MediaAlbumModel album)
 {
     if (album == null)
     {
         _album        = new MediaAlbumModel();
         _album.Folder = parent;
     }
     else
     {
         _album = album;
     }
     InitProperties();
 }
Ejemplo n.º 5
0
        /// <summary>
        ///		Carga los datos de un blog
        /// </summary>
        private MediaAlbumModel LoadAlbums(MediaFolderModel parent, MLNode rootML)
        {
            var album = new MediaAlbumModel();

            // Carga los datos
            album.Folder      = parent;
            album.GlobalId    = rootML.Attributes[TagId].Value;
            album.Name        = rootML.Nodes[TagName].Value;
            album.Description = rootML.Nodes[TagDescription].Value;
            album.Path        = rootML.Nodes[TagPath].Value;
            // Asigna los archivos
            album.Files.AddRange(LoadFiles(album, rootML));
            // Devuelve los datos del blog
            return(album);
        }
Ejemplo n.º 6
0
        /// <summary>
        ///		Graba una estructura de carpetas
        /// </summary>
        internal void Save(MediaFolderModel folder, string fileName)
        {
            MLFile fileML = new MLFile();
            MLNode nodeML = fileML.Nodes.Add(TagRoot);

            // Añade los nodos de las carpetas
            foreach (MediaFolderModel child in folder.Folders)
            {
                nodeML.Nodes.Add(GetNode(child));
            }
            // Añade los nodos de los albums
            foreach (MediaAlbumModel album in folder.Albums)
            {
                nodeML.Nodes.Add(GetNode(album));
            }
            // Graba el archivo
            new XMLWriter().Save(fileName, fileML);
        }
Ejemplo n.º 7
0
 public FolderViewModel(MediaFolderModel parent, MediaFolderModel folder)
 {
     _parent = parent;
     _folder = folder;
     if (_parent == null)
     {
         _parent = MediaPlayerViewModel.Instance.MediaManager.File;
     }
     if (_folder == null)
     {
         _folder = new MediaFolderModel();
     }
     else
     {
         _parent = folder.Parent;
     }
     InitProperties();
 }
Ejemplo n.º 8
0
        /// <summary>
        ///		Obtiene el nodo XML de una carpeta
        /// </summary>
        private MLNode GetNode(MediaFolderModel folder)
        {
            MLNode nodeML = new MLNode(TagFolder);

            // Añade los datos de la carpeta
            nodeML.Nodes.Add(TagName, folder.Name);
            // Añade los nodos de las carpetas
            foreach (MediaFolderModel child in folder.Folders)
            {
                nodeML.Nodes.Add(GetNode(child));
            }
            // Añade los nodos de los albums
            foreach (MediaAlbumModel album in folder.Albums)
            {
                nodeML.Nodes.Add(GetNode(album));
            }
            // Devuelve el nodo
            return(nodeML);
        }
Ejemplo n.º 9
0
        public async Task SaveFolder(MediaFolderModel model)
        {
            if (model.Id.HasValue)
            {
                var folder = await _api.Media.GetFolderByIdAsync(model.Id.Value);

                folder.Name = model.Name;

                await _api.Media.SaveFolderAsync(folder);
            }
            else
            {
                await _api.Media.SaveFolderAsync(new MediaFolder
                {
                    ParentId = model.ParentId,
                    Name     = model.Name
                });
            }
        }
Ejemplo n.º 10
0
        /// <summary>
        ///		Carga los datos de una carpeta de un nodo
        /// </summary>
        private MediaFolderModel LoadFolder(MediaFolderModel parent, MLNode nodeML)
        {
            MediaFolderModel folder = new MediaFolderModel();

            // Carga los datos de la carpeta
            folder.Name   = nodeML.Nodes[TagName].Value;
            folder.Parent = parent;
            // Carga los hijos de la carpetas
            foreach (MLNode childML in nodeML.Nodes)
            {
                if (childML.Name == TagFolder)
                {
                    folder.Folders.Add(LoadFolder(folder, childML));
                }
                else if (childML.Name == TagAlbum)
                {
                    folder.Albums.Add(LoadAlbums(folder, childML));
                }
            }
            // Devuelve la carpeta
            return(folder);
        }
Ejemplo n.º 11
0
 /// <summary>
 ///		Graba los archivos
 /// </summary>
 public void SaveReproductionList(MediaFolderModel folder)
 {
     new Bussiness.FolderBussiness().Save(folder, GetFileNameReproductionList());
 }
Ejemplo n.º 12
0
 public MediaPlayerManager()
 {
     File = new MediaFolderModel();
 }
 /// <summary>
 ///		Graba los datos
 /// </summary>
 public void Save(MediaFolderModel folder, string fileName)
 {
     new MediaRepository().Save(folder, fileName);
 }