Example #1
0
    void gridManage_OnGetDataSource(object sender, EventArgs e)
    {
        if (DiscussionId <= 0)
        {
            return;
        }

        DiscussionService.TransitDiscussion   d       = GetDiscussion();
        DiscussionService.ServiceQueryOptions options = new DiscussionService.ServiceQueryOptions();
        options.PageNumber = gridManage.CurrentPageIndex;
        options.PageSize   = gridManage.PageSize;

        DiscussionViewTypes type = GetDiscussionViewType();

        switch (type)
        {
        case DiscussionViewTypes.FlatWithNewestOnTop:
        case DiscussionViewTypes.FlatFullWithNewestOnTop:
            gridManage.DataSource = SessionManager.GetCollection <DiscussionService.TransitDiscussionPost, DiscussionService.ServiceQueryOptions, int>(
                DiscussionId, options, SessionManager.DiscussionService.GetLatestDiscussionPostsById);
            break;

        case DiscussionViewTypes.ThreadedWithNewestOnTop:
        case DiscussionViewTypes.ThreadedFullWithNewestOnTop:
        default:
            gridManage.DataSource = SessionManager.GetCollection <DiscussionService.TransitDiscussionPost, DiscussionService.ServiceQueryOptions, int>(
                DiscussionId, options, SessionManager.DiscussionService.GetDiscussionThreadsByDiscussionId);
            break;
        }
    }
Example #2
0
    public void Page_Load(object sender, EventArgs e)
    {
        gridManage.OnGetDataSource += new EventHandler(gridManage_OnGetDataSource);

        if (!IsPostBack)
        {
            GetData(sender, e);

            SiteMapDataAttribute sitemapdata = new SiteMapDataAttribute();
            if (IsObjectBound)
            {
                int discussion_id = SessionManager.GetCount <DiscussionService.TransitDiscussion, DiscussionService.ServiceQueryOptions, string, int>(
                    Type, ObjectId, SessionManager.DiscussionService.GetOrCreateDiscussionId);

                DiscussionService.TransitDiscussion td = SessionManager.GetInstance <DiscussionService.TransitDiscussion, DiscussionService.ServiceQueryOptions, int>(
                    discussion_id, SessionManager.DiscussionService.GetDiscussionById);

                sitemapdata.Add(new SiteMapDataAttributeNode(td.ParentObjectName, string.Format("{0}&ReturnUrl={1}",
                                                                                                td.ParentObjectUri, Renderer.UrlEncode(Request.Url.PathAndQuery))));
                sitemapdata.Add(new SiteMapDataAttributeNode("Discussions", Request.Url));
            }
            else
            {
                sitemapdata.Add(new SiteMapDataAttributeNode("Discussions"));
            }
            StackSiteMap(sitemapdata);
        }
    }
Example #3
0
    public DiscussionViewTypes GetDiscussionViewType()
    {
        DiscussionService.TransitDiscussion d = GetDiscussion();
        DiscussionViewTypes type = DiscussionViewTypes.ThreadedWithNewestOnTop;

        if (!string.IsNullOrEmpty(d.DefaultView))
        {
            type = (DiscussionViewTypes)Enum.Parse(typeof(DiscussionViewTypes), d.DefaultView);
        }
        return(type);
    }
Example #4
0
    public void Page_Load(object sender, EventArgs e)
    {
        discussionThreadView.OnGetDataSource += new EventHandler(discussionThreadView_OnGetDataSource);
        if (!IsPostBack)
        {
            if (RequestId == 0)
            {
                Redirect("Default.aspx");
                return;
            }

            DiscussionService.TransitDiscussionThread t = SessionManager.DiscussionService.GetDiscussionThreadById(
                SessionManager.Ticket, RequestId);

            if (t == null)
            {
                ReportWarning("Discussion has been deleted or invalid discussion thread.");
                return;
            }

            DiscussionService.TransitDiscussion td = SessionManager.DiscussionService.GetDiscussionById(
                SessionManager.Ticket, t.DiscussionId);

            this.Title = Renderer.Render(td.Name);

            SiteMapDataAttribute sitemapdata = new SiteMapDataAttribute();

            if (td.Personal)
            {
                sitemapdata.Add(new SiteMapDataAttributeNode(td.ParentObjectName, Request, td.ParentObjectUri));

                string uri = SessionManager.DiscussionService.GetDiscussionRedirectUri(
                    SessionManager.Ticket, td.Id);

                if (!string.IsNullOrEmpty(uri))
                {
                    sitemapdata.Add(new SiteMapDataAttributeNode("...", Request, uri));
                }
            }
            else
            {
                sitemapdata.Add(new SiteMapDataAttributeNode("Discussions", Request, "DiscussionsView.aspx"));
            }

            sitemapdata.Add(new SiteMapDataAttributeNode(td.Name, Request, string.Format("DiscussionView.aspx?id={0}", td.Id)));
            sitemapdata.Add(new SiteMapDataAttributeNode("Thread", Request.Url));
            StackSiteMap(sitemapdata);

            GetData(sender, e);
        }
    }
Example #5
0
    public void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            DiscussionService.TransitDiscussion td = SessionManager.DiscussionService.GetDiscussionById(
                SessionManager.Ticket, RequestId);

            if (td == null)
            {
                Response.StatusCode = 404;
                Response.End();
                return;
            }

            Title = Renderer.Render(td.Name);

            linkPostNew.NavigateUrl = string.Format("DiscussionPost.aspx?did={0}&ReturnUrl={1}",
                                                    td.Id, Renderer.UrlEncode(Request.Url.PathAndQuery));

            SiteMapDataAttribute sitemapdata = new SiteMapDataAttribute();

            if (td.Personal)
            {
                string uri = SessionManager.DiscussionService.GetDiscussionRedirectUri(
                    SessionManager.Ticket, td.Id);

                if (!string.IsNullOrEmpty(uri))
                {
                    sitemapdata.Add(new SiteMapDataAttributeNode("...", Request, uri));
                }
                else
                {
                    sitemapdata.Add(new SiteMapDataAttributeNode("Discussions", Request, "DiscussionsView.aspx"));
                }
            }
            else
            {
                sitemapdata.Add(new SiteMapDataAttributeNode("Discussions", Request, "DiscussionsView.aspx"));
            }

            sitemapdata.Add(new SiteMapDataAttributeNode(td.Name, Request, string.Format("DiscussionView.aspx?id={0}", RequestId)));
            StackSiteMap(sitemapdata);

            GetData(sender, e);
        }
    }
Example #6
0
    public void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            SiteMapDataAttribute sitemapdata = new SiteMapDataAttribute();

            if (DiscussionId > 0)
            {
                DiscussionService.TransitDiscussion td = SessionManager.DiscussionService.GetDiscussionById(
                    SessionManager.Ticket, DiscussionId);

                inputSticky.Enabled = td.CanUpdate;

                if (!string.IsNullOrEmpty(td.ParentObjectName))
                {
                    sitemapdata.Add(new SiteMapDataAttributeNode(td.ParentObjectName, Request, td.ParentObjectUri));
                    discussionLabelLink.Text        = Renderer.Render(td.ParentObjectName);
                    discussionLabelLink.NavigateUrl = td.ParentObjectUri;
                }
                else
                {
                    discussionLabelLink.Text        = Renderer.Render(td.Name);
                    discussionLabelLink.NavigateUrl = string.Format("DiscussionView.aspx?id={0}", td.Id);
                    sitemapdata.Add(new SiteMapDataAttributeNode("Discussions", Request, "DiscussionsView.aspx"));
                    sitemapdata.Add(new SiteMapDataAttributeNode(td.Name, Request, string.Format("DiscussionView.aspx?id={0}", td.Id)));
                }
            }

            StringBuilder body = new StringBuilder();

            if (PostId > 0)
            {
                DiscussionService.TransitDiscussionPost tw = SessionManager.DiscussionService.GetDiscussionPostById(
                    SessionManager.Ticket, PostId);
                inputSubject.Text   = tw.Subject;
                inputSticky.Checked = tw.Sticky;
                body.Append(tw.Body);
                sitemapdata.Add(new SiteMapDataAttributeNode(tw.Subject, Request.Url));
            }
            else
            {
                sitemapdata.Add(new SiteMapDataAttributeNode("New Post", Request.Url));
            }

            if (ParentId > 0)
            {
                DiscussionService.TransitDiscussionPost rp = SessionManager.DiscussionService.GetDiscussionPostById(
                    SessionManager.Ticket, ParentId);
                panelReplyTo.Visible          = true;
                replytoSenderName.NavigateUrl = string.Format("AccountView.aspx?id={0}", rp.AccountId);
                replytoSenderName.Text        = Renderer.Render(rp.AccountName);
                replyToBody.Text               = Renderer.RenderEx(rp.Body);
                replytoCreated.Text            = SessionManager.ToAdjustedString(rp.Created);
                replytoSubject.Text            = Renderer.Render(rp.Subject);
                inputSubject.Text              = rp.Subject.StartsWith("Re:") ? rp.Subject : "Re: " + rp.Subject;
                rowsubject.Attributes["style"] = "display: none;";
                labelPostingReplying.Text      = "replying";

                if (Quote)
                {
                    body.AppendFormat("<P>[quote]<DIV>on {0} {1} wrote:</DIV><DIV>{2}</DIV>[/quote]</P>",
                                      rp.Created.ToString("d"), rp.AccountName, rp.Body);
                }
            }

            if ((PostId == 0) && !string.IsNullOrEmpty(SessionManager.Account.Signature))
            {
                body.Append("<BR /><BR />");
                body.Append("<P>");
                body.Append(Renderer.RenderEx(SessionManager.Account.Signature));
                body.Append("</P>");
            }

            inputBody.Text = body.ToString();

            StackSiteMap(sitemapdata);
        }

        if (!SessionManager.HasVerified())
        {
            ReportWarning("You don't have any verified e-mail addresses and/or profile photos.\n" +
                          "You must add/confirm a valid e-mail address and upload a profile photo before posting.");

            panelPost.Visible = false;
            post.Enabled      = false;
        }

        SetDefaultButton(post);
    }