private List<ForumViewModel> BuildForums(IEnumerable<ForumInfo> forumInfos, IModuleInstanceContext moduleContext)
        {
            var list = new List<ForumViewModel>();
            if (forumInfos == null)
            {
                return list;
            }
            foreach (ForumInfo forumInfo in forumInfos)
            {
                var forum = new ForumViewModel
                                         {
                                             Description = forumInfo.Description,
                                             Name = forumInfo.Name,
                                             NumberOfReplies = forumInfo.ReplyCount,
                                             NumberOfTopics = forumInfo.TopicCount,
                                             Url = Links.ForumTopicList(moduleContext, moduleContext.TabId, forumInfo.ForumId),
                                         };
                PostInfo lastPost = controller.GetPost(forumInfo.LastPostId);
                if (lastPost != null)
                {
                    forum.LastPostAuthorImageUrl = this.userController.UserProfileImageUrl(moduleContext.PortalId, lastPost.UserId);
                    forum.LastPostAuthorName = lastPost.DisplayName;
                    forum.LastPostAuthorUrl = this.userController.UserProfileURL(lastPost.UserId);
                    forum.LastPostDate = lastPost.CreatedDate;
                    forum.LastPostUrl = null; //todo: get url of the last post (not topic, but post within the topic?)
                    forum.LastPostTitle = lastPost.Subject;
                }

                list.Add(forum);
            }
            return list;
        }
Ejemplo n.º 2
0
 public HomePresenter(IHomeView view, IForumsController controller, ITemplateFileManager templateFileManager, IModuleInstanceContext moduleContextWrapper, IDnnUserController dnnUserController)
     : base(view)
 {
     this.controller                    = controller;
     this.templateFileManager           = templateFileManager;
     moduleContextWrapper.ModuleContext = this.ModuleContext;
     this.moduleContextWrapper          = moduleContextWrapper;
     this.dnnUserController             = dnnUserController;
     this.View.Load += ViewLoad;
 }
Ejemplo n.º 3
0
 public static string ForumTopicEditor(IModuleInstanceContext moduleContext, int tabId, int forumId, int postId)
 {
     //return moduleContext.NavigateUrl(tabId, "", true, new string() ["view=editor", "forumid=" + forumId.ToString(), "postid=" + postId.ToString() ]);
     return(string.Empty);
 }
Ejemplo n.º 4
0
 public static string ForumTopicDisplay(IModuleInstanceContext moduleContext, int tabId, int topicId)
 {
     return(moduleContext.NavigateUrl(tabId, "", true, "topicid=" + topicId.ToString()));
 }
Ejemplo n.º 5
0
 public static string ForumTopicList(IModuleInstanceContext moduleContext, int tabId, int forumId)
 {
     return(moduleContext.NavigateUrl(tabId, "", true, "forumid=" + forumId.ToString()));
 }
Ejemplo n.º 6
0
 /// <summary>
 /// Navigates the user to the sample home page.
 /// </summary>
 /// <param name="moduleContext"></param>
 /// <param name="tabId"></param>
 /// <returns></returns>
 /// <remarks>We must pass tabid in separate from moduleContext, in case we need to generate a link from a third party module (ie. latest posts).</remarks>
 public static string ForumHome(IModuleInstanceContext moduleContext, int tabId)
 {
     return(moduleContext.NavigateUrl(tabId, "", true, "view=" + Constants.PageScope.Home));
 }
Ejemplo n.º 7
0
 public static string ForumTopicEditor(IModuleInstanceContext moduleContext, int tabId, int forumId, int postId)
 {
     //return moduleContext.NavigateUrl(tabId, "", true, new string() ["view=editor", "forumid=" + forumId.ToString(), "postid=" + postId.ToString() ]);
     return string.Empty;
 }
Ejemplo n.º 8
0
 public static string ForumTopicDisplay(IModuleInstanceContext moduleContext, int tabId, int topicId)
 {
     return moduleContext.NavigateUrl(tabId, "", true, "topicid=" + topicId.ToString());
 }
Ejemplo n.º 9
0
 public static string ForumTopicList(IModuleInstanceContext moduleContext, int tabId, int forumId)
 {
     return moduleContext.NavigateUrl(tabId, "", true, "forumid=" + forumId.ToString());
 }
Ejemplo n.º 10
0
	    /// <summary>
	    /// Navigates the user to the sample home page.
	    /// </summary>
	    /// <param name="moduleContext"></param>
	    /// <param name="tabId"></param>
	    /// <returns></returns>
	    /// <remarks>We must pass tabid in separate from moduleContext, in case we need to generate a link from a third party module (ie. latest posts).</remarks>
	    public static string ForumHome(IModuleInstanceContext moduleContext, int tabId)
		{
			return moduleContext.NavigateUrl(tabId, "", true, "view=" + Constants.PageScope.Home);
		}
Ejemplo n.º 11
0
 public List<ForumViewModel> Build(List<ForumInfo> forumInfos, IModuleInstanceContext moduleContext)
 {
     return BuildForums(forumInfos, moduleContext);
 }
Ejemplo n.º 12
0
 public List<ForumViewModel> Build(IModuleInstanceContext moduleContext)
 {
     var forumInfos = controller.GetModuleForums(moduleContext.ModuleId);
     return BuildForums(forumInfos, moduleContext);
 }
Ejemplo n.º 13
0
        private List <ForumViewModel> BuildForums(IEnumerable <ForumInfo> forumInfos, IModuleInstanceContext moduleContext)
        {
            var list = new List <ForumViewModel>();

            if (forumInfos == null)
            {
                return(list);
            }
            foreach (ForumInfo forumInfo in forumInfos)
            {
                var forum = new ForumViewModel
                {
                    Description     = forumInfo.Description,
                    Name            = forumInfo.Name,
                    NumberOfReplies = forumInfo.ReplyCount,
                    NumberOfTopics  = forumInfo.TopicCount,
                    Url             = Links.ForumTopicList(moduleContext, moduleContext.TabId, forumInfo.ForumId),
                };
                PostInfo lastPost = controller.GetPost(forumInfo.LastPostId);
                if (lastPost != null)
                {
                    forum.LastPostAuthorImageUrl = this.userController.UserProfileImageUrl(moduleContext.PortalId, lastPost.UserId);
                    forum.LastPostAuthorName     = lastPost.DisplayName;
                    forum.LastPostAuthorUrl      = this.userController.UserProfileURL(lastPost.UserId);
                    forum.LastPostDate           = lastPost.CreatedDate;
                    forum.LastPostUrl            = null; //todo: get url of the last post (not topic, but post within the topic?)
                    forum.LastPostTitle          = lastPost.Subject;
                }

                list.Add(forum);
            }
            return(list);
        }
Ejemplo n.º 14
0
 public List <ForumViewModel> Build(List <ForumInfo> forumInfos, IModuleInstanceContext moduleContext)
 {
     return(BuildForums(forumInfos, moduleContext));
 }
Ejemplo n.º 15
0
        public List <ForumViewModel> Build(IModuleInstanceContext moduleContext)
        {
            var forumInfos = controller.GetModuleForums(moduleContext.ModuleId);

            return(BuildForums(forumInfos, moduleContext));
        }