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)); } }
/// <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); }
public async Task SaveFolder(MediaFolderModel model) { await _api.Media.SaveFolderAsync(new MediaFolder { ParentId = model.ParentId, Name = model.Name }); }
public AlbumViewModel(MediaFolderModel parent, MediaAlbumModel album) { if (album == null) { _album = new MediaAlbumModel(); _album.Folder = parent; } else { _album = album; } InitProperties(); }
/// <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); }
/// <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); }
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(); }
/// <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); }
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 }); } }
/// <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); }
/// <summary> /// Graba los archivos /// </summary> public void SaveReproductionList(MediaFolderModel folder) { new Bussiness.FolderBussiness().Save(folder, GetFileNameReproductionList()); }
public MediaPlayerManager() { File = new MediaFolderModel(); }
/// <summary> /// Graba los datos /// </summary> public void Save(MediaFolderModel folder, string fileName) { new MediaRepository().Save(folder, fileName); }