Ejemplo n.º 1
0
    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;
        }
    }
Ejemplo n.º 2
0
    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);
    }
Ejemplo n.º 3
0
        public override void DeleteWiki(IWiki item)
        {
            WorkWikiItem workitem = new WorkWikiItem(item);
            workitem.Action = SaveAction.Delete;

            RequestAuthorization(workitem);
        }
Ejemplo n.º 4
0
        public override void InsertWiki(IWiki item)
        {
            WorkWikiItem workitem = new WorkWikiItem(item);
            workitem.Action = SaveAction.Insert;

            RequestAuthorization(workitem);
        }
Ejemplo n.º 5
0
        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;
        }