private void BindWikiContent() { if (string.IsNullOrEmpty(Request.QueryString["trackingNumber"])) throw new InvalidOperationException("A valid identifier is requested."); workItem = string.IsNullOrEmpty(Request.QueryString["ischanged"]) || !Convert.ToBoolean(Request.QueryString["ischanged"]) ? WorkWikiItem.Load(new Guid(Request.QueryString["trackingNumber"])) : (WorkWikiItem)Session[Request.QueryString["trackingNumber"]]; if (workItem == null) return; Page.Title = string.Format("Wiki - {0}", workItem.Title); TitleLabel.Text = string.Format("{0} ({1})", workItem.Title, workItem.Action == CodeFactory.Web.Core.SaveAction.Update ? "Actualización" : workItem.Action == CodeFactory.Web.Core.SaveAction.Delete ? "Eliminación" : "Nuevo"); EditorLabel.Text = string.Format("Autor: {0}{1}", !string.IsNullOrEmpty(workItem.Editor) ? workItem.Editor : "ND", !string.IsNullOrEmpty(workItem.DepartmentArea) ? string.Format(" - {0}", workItem.DepartmentArea) : string.Empty); ContentLabel.Text = workItem.Content; AuthorizeButton.Visible = RejectButton.Visible = workItem.Status.Equals(WikiStatus.AuthorizationRequested); CommentsTextBox.Enabled = workItem.Status.Equals(WikiStatus.AuthorizationRequested); MessagesBoard.Visible = !workItem.Status.Equals(WikiStatus.AuthorizationRequested); switch (workItem.Status) { case WikiStatus.AuthorizationExpired: MessagesBoardLabel.Text = "La solicitud ha sido rechazada por falta de autorización."; break; case WikiStatus.AuthorizationRejected: MessagesBoardLabel.Text = "La solicitud ha sido rechazada por el administrador."; break; default: break; } }
protected void AuthorizeButton_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(Request.QueryString["trackingNumber"])) throw new InvalidOperationException("A valid identifier is requested."); workItem = string.IsNullOrEmpty(Request.QueryString["ischanged"]) || !Convert.ToBoolean(Request.QueryString["ischanged"]) ? WorkWikiItem.Load(new Guid(Request.QueryString["trackingNumber"])) : (WorkWikiItem)Session[Request.QueryString["trackingNumber"]]; if (workItem == null) return; WikiService.AuthorizeWiki(workItem); Response.Redirect(Utils.RelativeWebRoot); }
public override void DeleteWiki(IWiki item) { WorkWikiItem workitem = new WorkWikiItem(item); workitem.Action = SaveAction.Delete; RequestAuthorization(workitem); }
public override void InsertWiki(IWiki item) { WorkWikiItem workitem = new WorkWikiItem(item); workitem.Action = SaveAction.Insert; RequestAuthorization(workitem); }
public override IWorkWikiItem SelectWorkWikiItem(Guid id) { WorkWikiItem wiki = null; WikiDataContext db = new WikiDataContext( ConfigurationManager.ConnectionStrings[this.ConnectionStringName].ConnectionString); Table<LinqWorkWikiItem> wikis = db.GetTable<LinqWorkWikiItem>(); LinqWorkWikiItem row = wikis.SingleOrDefault<LinqWorkWikiItem>( w => w.ApplicationName == this.ApplicationName && w.TrackingNumber == id); if (row == null) return null; wiki = new WorkWikiItem(new Wiki(row.ID) { Author = row.Author, Category = row.Category, Content = row.Content, DateCreated = row.DateCreated, DepartmentArea = row.DepartmentArea, Description = row.Description, Editable = row.Editable, Editor = row.Editor, IsVisible = row.IsVisible, Keywords = row.Keywords, LastUpdated = row.LastUpdated, LastUpdatedBy = row.LastUpdatedBy, ReachLevel = (ReachLevel)row.ReachLevel, Slug = row.Slug, Title = row.Title, }) { Action = (SaveAction)row.Action, Authorizer = row.Authorizer, ExpirationDate = row.ExpirationDate, IPAddress = row.IpAddress, Messages = row.Messages, Status = (WikiStatus)row.Status, TrackingNumber = row.TrackingNumber }; return wiki; }