Esempio n. 1
0
        public PagedResults <FileView> GetFiles(PagedRequest request = null)
        {
            var query = _database.Files.Where(x => !x.IsDeleted);

            request = request ?? new PagedRequest();
            request.Cleanup();

            if (!string.IsNullOrWhiteSpace(request.Filter))
            {
                query = request.FilterValues?.Any() == true
                                        ? query.Where(request.Filter, request.FilterValues)
                                        : query.Where(request.Filter);
            }

            query = query.OrderBy(string.IsNullOrWhiteSpace(request.Order) ? "Name" : request.Order);
            return(GetPagedResults(query, request, x => new FileView
            {
                Id = x.Id,
                ModifiedOn = x.ModifiedOn,
                Name = x.Name,
                NameForLink = PageView.ConvertTitleForLink(x.Name),
                Size = x.Size / 1024 + " kb",
                Type = x.Type
            }));
        }
Esempio n. 2
0
        public PagedResults <TagView> GetTags(PagedRequest request = null)
        {
            request = request ?? new PagedRequest();
            request.Cleanup();

            var query = GetCurrentPagesQuery()
                        .Select(x => new { x.Title, x.Tags })
                        .ToList()
                        .SelectMany(x => x.Tags.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries))
                        .GroupBy(x => x)
                        .AsQueryable();

            query = query.OrderBy(string.IsNullOrWhiteSpace(request.Order) ? "Key" : request.Order);
            return(GetPagedResults(query, request, x => TagView.Create(x.Key, x.Count())));
        }
Esempio n. 3
0
        public PagedResults <PageView> GetPages(PagedRequest request = null)
        {
            var query = GetCurrentPagesQuery(x => x.CreatedBy);

            request = request ?? new PagedRequest();
            request.Cleanup();

            if (!string.IsNullOrWhiteSpace(request.Filter))
            {
                query = request.FilterValues?.Any() == true
                                        ? query.Where(request.Filter, request.FilterValues.ToArray())
                                        : query.Where(request.Filter);
            }

            query = query.OrderBy(string.IsNullOrWhiteSpace(request.Order) ? "Title" : request.Order);
            return(GetPagedResults(query, request, x => x.ToView(Converter, request.Including.Contains("details", StringComparer.OrdinalIgnoreCase))));
        }
Esempio n. 4
0
        public PagedResults <UserView> GetUsers(PagedRequest request = null)
        {
            if (_user == null || !_user.InRole("Administrator"))
            {
                throw new UnauthorizedAccessException("You do not have the permission to be access users.");
            }

            var query = _database.Users.OrderBy(x => x.DisplayName).AsQueryable();

            request = request ?? new PagedRequest();
            request.Cleanup();

            if (!string.IsNullOrWhiteSpace(request.Filter))
            {
                query = request.FilterValues?.Any() == true
                                        ? query.Where(request.Filter, request.FilterValues)
                                        : query.Where(request.Filter);
            }

            query = query.OrderBy(string.IsNullOrWhiteSpace(request.Order) ? "UserName" : request.Order);
            return(GetPagedResults(query, request, x => x.ToView()));
        }