Exemplo n.º 1
0
        /// <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));
        }
Exemplo n.º 2
0
        /// <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);
        }
Exemplo n.º 3
0
        /// <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);
        }
Exemplo n.º 4
0
        /// <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);
        }
Exemplo n.º 5
0
        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
            }));
        }