/// <summary> /// Selects all items. /// </summary> /// <param name="media">The media.</param> /// <returns>Entity converted to view model</returns> private MediaViewModel SelectItem(Media media) { if (media is MediaFolder) { var folder = new MediaFolderViewModel(); FillMediaViewModel(folder, media); return(folder); } return(ToViewModel(media)); }
/// <summary> /// Loads the media folder. /// </summary> /// <returns>Media folder view model</returns> private MediaPathViewModel LoadMediaFolder(MediaManagerViewModel request) { var emptyFolderViewModel = new MediaFolderViewModel { Id = Guid.Empty, Type = MediaType }; var model = new MediaPathViewModel { CurrentFolder = emptyFolderViewModel }; var folders = new List <MediaFolderViewModel> { emptyFolderViewModel }; if (!request.CurrentFolderId.HasDefaultValue()) { var mediaFolder = Repository.FirstOrDefault <MediaFolder>(e => e.Id == request.CurrentFolderId && e.Original == null); model.CurrentFolder = mediaFolder != null ? new MediaFolderViewModel { Id = mediaFolder.Id, Name = mediaFolder.Title, Version = mediaFolder.Version, Type = mediaFolder.Type, ParentFolderId = mediaFolder.Folder != null ? mediaFolder.Folder.Id : Guid.Empty } : new MediaFolderViewModel(); while (mediaFolder != null) { folders.Insert( 1, new MediaFolderViewModel { Id = mediaFolder.Id, Name = mediaFolder.Title, Type = mediaFolder.Type, ParentFolderId = mediaFolder.Folder != null ? mediaFolder.Folder.Id : Guid.Empty }); mediaFolder = mediaFolder.Folder; } } model.Folders = folders; return(model); }
/// <summary> /// Loads the media folder. /// </summary> /// <returns>Media folder view model</returns> private MediaPathViewModel LoadMediaFolder(MediaManagerViewModel request) { var emptyFolderViewModel = new MediaFolderViewModel { Id = Guid.Empty, Type = MediaType }; var model = new MediaPathViewModel { CurrentFolder = emptyFolderViewModel }; var folders = new List <MediaFolderViewModel> { emptyFolderViewModel }; if (!request.CurrentFolderId.HasDefaultValue()) { MediaFolder folderAlias = null; MediaFolderViewModel folderModelAlias = null; var folder = UnitOfWork.Session .QueryOver(() => folderAlias) .Where(() => !folderAlias.IsDeleted && folderAlias.Id == request.CurrentFolderId) .SelectList(select => select .Select(() => folderAlias.Id).WithAlias(() => folderModelAlias.Id) .Select(() => folderAlias.Title).WithAlias(() => folderModelAlias.Name) .Select(() => folderAlias.Version).WithAlias(() => folderModelAlias.Version) .Select(() => folderAlias.Type).WithAlias(() => folderModelAlias.Type)) .TransformUsing(Transformers.AliasToBean <MediaFolderViewModel>()) .First <MediaFolderViewModel, MediaFolder>(); model.CurrentFolder = folder ?? new MediaFolderViewModel(); if (folder != null) { folders.Add(new MediaFolderViewModel { Id = folder.Id, Name = folder.Name, Type = folder.Type }); } } model.Folders = folders; return(model); }
/// <summary> /// Gets the folders. /// </summary> /// <param name="request">The request.</param> /// <returns> /// The list with folder view models /// </returns> private IList <MediaFolderViewModel> GetFolders(MediaManagerViewModel request) { MediaFolder folderAlias = null; MediaFolderViewModel folderModelAlias = null; var query = UnitOfWork.Session .QueryOver(() => folderAlias) .Where(() => !folderAlias.IsDeleted && folderAlias.Type == MediaType); if (!string.IsNullOrWhiteSpace(request.SearchQuery)) { var searchQuery = string.Format("%{0}%", request.SearchQuery); query = query.Where(Restrictions.InsensitiveLike(Projections.Property(() => folderAlias.Title), searchQuery)); } if (!request.CurrentFolderId.HasDefaultValue()) { query = query.Where(() => folderAlias.Folder.Id == request.CurrentFolderId); } else { query = query.Where(() => folderAlias.Folder == null); } query = query.SelectList(select => select .Select(() => folderAlias.Id).WithAlias(() => folderModelAlias.Id) .Select(() => folderAlias.Title).WithAlias(() => folderModelAlias.Name) .Select(() => folderAlias.Version).WithAlias(() => folderModelAlias.Version) .Select(() => folderAlias.Type).WithAlias(() => folderModelAlias.Type)) .TransformUsing(Transformers.AliasToBean <MediaFolderViewModel>()); var options = new SearchableGridOptions() { Direction = request.Direction, Column = "Title" }; query.AddSortingAndPaging(options); var folders = query.List <MediaFolderViewModel>(); return(folders); }
public ActionResult SaveFolder(MediaFolderViewModel folder) { if (ModelState.IsValid) { var response = GetCommand <SaveFolderCommand>().ExecuteCommand(folder); if (response != null) { if (folder.Id.HasDefaultValue()) { Messages.AddSuccess(MediaGlobalization.CreateFolder_CreatedSuccessfully_Message); } return(Json(new WireJson { Success = true, Data = response })); } } return(Json(new WireJson { Success = false })); }