public void discussionView_ItemDataBound(object sender, DataGridItemEventArgs e) { switch (e.Item.ItemType) { case ListItemType.AlternatingItem: case ListItemType.Item: case ListItemType.SelectedItem: case ListItemType.EditItem: int id = int.Parse(e.Item.Cells[(int)Cells.id].Text); bool canedit = bool.Parse(e.Item.Cells[(int)Cells.canedit].Text); bool candelete = bool.Parse(e.Item.Cells[(int)Cells.candelete].Text); HtmlAnchor linkEdit = (HtmlAnchor)e.Item.FindControl("linkEdit"); linkEdit.Visible = canedit; linkEdit.HRef = string.Format("DiscussionPost.aspx?did={0}&id={1}&ReturnUrl={2}", DiscussionId, id, Renderer.UrlEncode(ReturnUrl)); LinkButton linkDelete = (LinkButton)e.Item.FindControl("linkDelete"); linkDelete.CommandArgument = id.ToString(); linkDelete.Attributes.Add("onclick", "return confirm('Are you sure you want to delete this post?');"); linkDelete.Visible = candelete; TransitDiscussion d = SessionManager.GetPrivateInstance <TransitDiscussion, int>( DiscussionId, SessionManager.DiscussionService.GetDiscussionById); HyperLink linkMovePost = (HyperLink)e.Item.FindControl("linkMovePost"); linkMovePost.Visible = d.CanUpdate; linkMovePost.NavigateUrl = string.Format("DiscussionPostMove.aspx?id={0}", id); break; } }
public void Page_Load() { if (!IsPostBack) { SiteMapDataAttribute sitemapdata = new SiteMapDataAttribute(); if (RequestId > 0) { TransitDiscussion td = SessionManager.GetInstance <TransitDiscussion, int>( RequestId, SessionManager.DiscussionService.GetDiscussionById); if (td.Personal) { sitemapdata.Add(new SiteMapDataAttributeNode(td.ParentObjectName, string.Format("{0}&ReturnUrl={1}", td.ParentObjectUri, Renderer.UrlEncode(Request.Url.PathAndQuery)))); } else { sitemapdata.Add(new SiteMapDataAttributeNode("Discussions", Request, "DiscussionsView.aspx")); } sitemapdata.Add(new SiteMapDataAttributeNode(td.Name, Request, string.Format("DiscussionView.aspx?id={0}", td.Id))); } else { sitemapdata.Add(new SiteMapDataAttributeNode("Discussions", Request, "DiscussionsView.aspx")); } sitemapdata.Add(new SiteMapDataAttributeNode("Search", Request.Url)); StackSiteMap(sitemapdata); } SetDefaultButton(search); }
public void Page_Load(object sender, EventArgs e) { discussionThreadView.OnGetDataSource += new EventHandler(discussionThreadView_OnGetDataSource); if (!IsPostBack) { linkBack.NavigateUrl = ReturnUrl; if (DiscussionId > 0) { TransitDiscussion d = SessionManager.GetPrivateInstance <TransitDiscussion, int>( DiscussionId, SessionManager.DiscussionService.GetDiscussionById); discussionLabel.Text = Renderer.Render(d.Name); discussionDescription.Text = Renderer.Render(d.Description); linkNew.NavigateUrl = string.Format("DiscussionPost.aspx?did={0}&ReturnUrl={1}", d.Id, Renderer.UrlEncode(ReturnUrl)); linkNew.Visible = !d.Personal; linkAllDiscussions.Visible = !d.Personal; linkNewPosts.Visible = !d.Personal; linkMove.Visible = d.CanUpdate; linkMove.NavigateUrl = string.Format("DiscussionThreadMove.aspx?id={0}", DiscussionThreadId); } quickpost.DiscussionId = DiscussionId; quickpost.DiscussionThreadId = DiscussionThreadId; GetData(sender, e); } }
public void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (RequestId == 0) { Redirect("Default.aspx"); return; } TransitDiscussionThread t = SessionManager.GetPrivateInstance <TransitDiscussionThread, int>( RequestId, SessionManager.DiscussionService.GetDiscussionThreadById); if (t == null) { ReportWarning("Discussion has been deleted or invalid discussion thread."); return; } TransitDiscussion td = SessionManager.GetPrivateInstance <TransitDiscussion, int>( t.DiscussionId, SessionManager.DiscussionService.GetDiscussionById); if (td.Personal) { string uri = SessionManager.DiscussionService.GetThreadRedirectUri( SessionManager.Ticket, td.Id); if (!string.IsNullOrEmpty(uri)) { Redirect(uri); return; } } this.Title = Renderer.Render(td.Name); discussionMain.DiscussionThreadId = RequestId; discussionMain.DiscussionId = t.DiscussionId; discussionMain.DataBind(); SiteMapDataAttribute sitemapdata = new SiteMapDataAttribute(); if (!string.IsNullOrEmpty(td.ParentObjectName)) { sitemapdata.Add(new SiteMapDataAttributeNode(td.ParentObjectName, Request, td.ParentObjectUri)); sitemapdata.Add(new SiteMapDataAttributeNode(td.Name, Request, string.Format("{0}#discuss", td.ParentObjectUri))); sitemapdata.Add(new SiteMapDataAttributeNode("Thread", Request.Url)); } 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); } }
public void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { SiteMapDataAttribute sitemapdata = new SiteMapDataAttribute(); if (IsObjectBound) { int discussion_id = SessionManager.GetCount <TransitDiscussion, string, int>( Type, ObjectId, SessionManager.DiscussionService.GetOrCreateDiscussionId); TransitDiscussion td = SessionManager.GetPrivateInstance <TransitDiscussion, 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("Me Me", Request, "AccountManage.aspx")); sitemapdata.Add(new SiteMapDataAttributeNode("Discussions", Request, "SystemDiscussionsManage.aspx")); } DomainClass cs = SessionManager.GetDomainClass("Discussion"); inputName.MaxLength = cs["Name"].MaxLengthInChars; inputDefaultView.DataSource = DiscussionViewType.DefaultTypes; inputDefaultView.DataBind(); linkBack.NavigateUrl = ReturnUrl; int id = RequestId; if (id > 0) { TransitDiscussion tw = SessionManager.DiscussionService.GetDiscussionById( SessionManager.Ticket, id); inputName.Text = Renderer.Render(tw.Name); inputDescription.Text = Renderer.Render(tw.Description); ListItemManager.TrySelect(inputDefaultView, tw.DefaultView); ListItemManager.SelectAdd(inputDefaultViewRows, tw.DefaultViewRows); sitemapdata.Add(new SiteMapDataAttributeNode(tw.Name, Request.Url)); } else { sitemapdata.Add(new SiteMapDataAttributeNode("New Discussion", Request.Url)); } StackSiteMap(sitemapdata); } SetDefaultButton(manageAdd); }
public void save_Click(object sender, EventArgs e) { TransitDiscussion tw = new TransitDiscussion(); tw.Name = inputName.Text; tw.Description = inputDescription.Text; tw.Id = RequestId; tw.DefaultView = inputDefaultView.SelectedValue; tw.DefaultViewRows = int.Parse(inputDefaultViewRows.SelectedValue); tw.ObjectId = ObjectId; tw.ParentObjectType = Type; tw.Personal = IsObjectBound; SessionManager.CreateOrUpdate<TransitDiscussion>( tw, SessionManager.DiscussionService.CreateOrUpdateDiscussion); Redirect(ReturnUrl); }
public string GetDiscussionRedirectUri(string ticket, int id) { TransitDiscussion td = GetDiscussionById(ticket, id); if (!td.Personal) { throw new Exception(string.Format("Discussion {0} is not Personal", td.Name)); } using (SnCore.Data.Hibernate.Session.OpenConnection()) { ISession session = SnCore.Data.Hibernate.Session.Current; ManagedDiscussionMapEntry mapentry = ManagedDiscussionMap.Find(session, td.DataObjectId); return(string.Format(mapentry.DiscussionUriFormat, td.ObjectId)); } }
public void save_Click(object sender, EventArgs e) { TransitDiscussion tw = new TransitDiscussion(); tw.Name = inputName.Text; tw.Description = inputDescription.Text; tw.Id = RequestId; tw.DefaultView = inputDefaultView.SelectedValue; tw.DefaultViewRows = int.Parse(inputDefaultViewRows.SelectedValue); tw.ObjectId = ObjectId; tw.ParentObjectType = Type; tw.Personal = IsObjectBound; SessionManager.CreateOrUpdate <TransitDiscussion>( tw, SessionManager.DiscussionService.CreateOrUpdateDiscussion); Redirect(ReturnUrl); }
public void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { discussionMain.DiscussionId = RequestId; discussionMain.DataBind(); TransitDiscussion td = SessionManager.GetInstance <TransitDiscussion, int>( RequestId, SessionManager.DiscussionService.GetDiscussionById); if (td == null) { Response.StatusCode = 404; Response.End(); return; } if (td.Personal && ParentRedirect) { string uri = SessionManager.DiscussionService.GetDiscussionRedirectUri( SessionManager.Ticket, td.Id); if (!string.IsNullOrEmpty(uri)) { Redirect(uri); return; } } this.Title = Renderer.Render(td.Name); SiteMapDataAttribute sitemapdata = new SiteMapDataAttribute(); if (td.Personal) { discussionMain.BackText = string.Format("» Back to {0}", Renderer.Render(td.ParentObjectName)); sitemapdata.Add(new SiteMapDataAttributeNode(td.ParentObjectName, string.Format("{0}&ReturnUrl={1}", td.ParentObjectUri, Renderer.UrlEncode(string.Format("DiscussionView.aspx?id={0}", td.Id))))); } else { sitemapdata.Add(new SiteMapDataAttributeNode("Discussions", Request, "DiscussionsView.aspx")); } sitemapdata.Add(new SiteMapDataAttributeNode(td.Name, Request.Url)); StackSiteMap(sitemapdata); } }
public void GetData(object sender, EventArgs e) { TransitDiscussion d = SessionManager.GetPrivateInstance <TransitDiscussion, int>( DiscussionId, SessionManager.DiscussionService.GetDiscussionById); if (string.IsNullOrEmpty(discussionLabel.Text)) { discussionLabel.Text = Renderer.Render(d.Name); } discussionDescription.Text = Renderer.Render(d.Description); divDescription.Visible = !string.IsNullOrEmpty(discussionDescription.Text); discussionView.DataSource = SessionManager.GetPrivateCollection <TransitDiscussionPost, int>( DiscussionId, null, SessionManager.DiscussionService.GetDiscussionPosts); discussionView.DataBind(); postNew.NavigateUrl = string.Format("DiscussionPost.aspx?did={0}&ReturnUrl={1}", DiscussionId, Renderer.UrlEncode(ReturnUrl)); }
void GetDiscussionData(object sender, EventArgs e) { if (DiscussionId <= 0) { return; } TransitDiscussion d = GetDiscussion(); discussionLabel.Text = Renderer.Render(d.Name); discussionDescription.Text = Renderer.Render(d.Description); StringBuilder sb = new StringBuilder(); //sb.AppendFormat(" » {0} thread{1}", d.ThreadCount, d.ThreadCount == 1 ? string.Empty : "s"); if (d.PostCount > 0) { sb.AppendFormat(" » {0} post{1}", d.PostCount, d.PostCount == 1 ? string.Empty : "s"); sb.AppendFormat(" <span class='{0}'>» last post {1}</span>", DateTime.UtcNow.Subtract(d.Modified).TotalDays < 3 ? "sncore_datetime_highlight" : string.Empty, SessionManager.ToAdjustedString(d.Modified)); } labelThreadsPosts.Text = sb.ToString(); linkRead.Visible = !string.IsNullOrEmpty(linkRead.Text); linkRead.NavigateUrl = string.Format("DiscussionView.aspx?id={0}&ReturnUrl={1}&ParentRedirect=false", d.Id, Renderer.UrlEncode(Request.Url.PathAndQuery)); linkBack.Visible = !string.IsNullOrEmpty(linkBack.Text); linkBack.NavigateUrl = d.ParentObjectUri; linkSearch.Visible = !string.IsNullOrEmpty(linkSearch.Text); postNew.Visible = !string.IsNullOrEmpty(postNew.Text); if (!HasRows) { linkSearch.Text = string.Empty; } }
public int CreateOrUpdateDiscussion(string ticket, TransitDiscussion discussion) { return WebServiceImpl<TransitDiscussion, ManagedDiscussion, Discussion>.CreateOrUpdate( ticket, discussion); }
public int CreateOrUpdateDiscussion(string ticket, TransitDiscussion discussion) { return(WebServiceImpl <TransitDiscussion, ManagedDiscussion, Discussion> .CreateOrUpdate( ticket, discussion)); }