Exemplo n.º 1
0
        public IEnumerable<ForumPart> GetForumsForCategory(ForumCategoryPart forumCategoryPart, int skip, int count, VersionOptions versionOptions)
        {
            
            var forums = _contentManager.Query<ForumPart, ForumPartRecord>(versionOptions)
                .OrderBy(fp => fp.Weight)
                .WithQueryHints(new QueryHints().ExpandRecords<CommonPartRecord, TitlePartRecord>())
                .Join<CommonPartRecord>()
                .Where(cpr => cpr.Container.Id == forumCategoryPart.Id).Slice(skip, count).ToList();

            /*
             * var forumIds = _categoryToForumMappingRepository.Table.Where(rec => rec.ForumCategoryPartRecord.Id == forumCategoryPart.Id).Select(rec => rec.ForumPartRecord.Id).ToList();
            var forums = _contentManager.Query<ForumPart, ForumPartRecord>(versionOptions).OrderByDescending(fpr => fpr.Weight).Where(forum => forumIds.Contains(forumCategoryPart.Id)).Slice(skip, count).ToList();
             */

            /*
            return GetParentQuery(forumCategoryPart, versionOptions)
                .Join<ThreadPartRecord>()
                .OrderByDescending(o => o.IsSticky)
                .Join<CommonPartRecord>()
                .OrderByDescending(o => o.ModifiedUtc)
                .ForPart<ThreadPart>()
                .Slice(skip, count)
                .ToList();
             */

            return forums;
        }
Exemplo n.º 2
0
 public  IEnumerable<ForumPart> GetForumsForCategory(ForumCategoryPart forumCategoryPart, VersionOptions versionOptions)
 {
     return _contentManager.Query<ForumPart, ForumPartRecord>(versionOptions)
         .WithQueryHints(new QueryHints().ExpandRecords<AutoroutePartRecord, TitlePartRecord, CommonPartRecord>())
         .OrderBy( fp=>fp.Weight)
         .Join<CommonPartRecord>()
         .Where( cpr=>cpr.Container.Id == forumCategoryPart.Id)
         .List();
 }
Exemplo n.º 3
0
        public void VerifyUrlLength(ForumCategoryPart part)
        {

            var forumSettings = _orchardServices.WorkContext.CurrentSite.As<ForumsSettingsPart>();
            var url = part.As<AutoroutePart>().DisplayAlias;

            if (forumSettings.CategoryTitleMaximumLength > 0)
            {
                part.As<AutoroutePart>().DisplayAlias = url.Substring(0, Math.Min(forumSettings.CategoryUrlMaximumLength, url.Length));
            }
        }
Exemplo n.º 4
0
        public IEnumerable<ForumPart> GetForumsForCategory(ForumCategoryPart forumCategoryPart, VersionOptions versionOptions)
        {
            var forums = _contentManager.Query<ForumPart, ForumPartRecord>(versionOptions)
                            .OrderBy( fp=>fp.Weight)
                            .WithQueryHints(new QueryHints().ExpandRecords<CommonPartRecord, TitlePartRecord>())
                            .Join<CommonPartRecord>()
                            .Where(cpr => cpr.Container.Id == forumCategoryPart.Id).List().ToList();

            //var forumIds = _categoryToForumMappingRepository.Table.Where(rec => rec.ForumCategoryPartRecord.Id == forumCategoryPart.Id).Select(rec => rec.ForumPartRecord.Id).ToList();
            //var forums = _contentManager.Query<ForumPart, ForumPartRecord>(versionOptions).Where(forum => forumIds.Contains(forum.Id)).List().ToList();
            return forums;
        }
Exemplo n.º 5
0
 public void Delete(ForumCategoryPart forumCategoryPart)
 {
     _contentManager.Remove(forumCategoryPart.ContentItem);
 }
Exemplo n.º 6
0
 public static string ForumCreateForAdmin(this UrlHelper urlHelper, ForumCategoryPart forumCategoryPart) {
     return urlHelper.Action("CreateForum", "ForumAdmin", new { forumCategoryPartId = forumCategoryPart.Id, area = Constants.LocalArea });
 }