Exemplo n.º 1
0
    protected void btnReject_Click(object sender, EventArgs e)
    {
        Item.ApprovalStatus     = ItemApprovalStatusManager.GetDraftStatus();
        Item.ActionedByPersonId = MembershipManager.GetUserByName(Page.User.Identity.Name).Id;
        Item.ActionedNotes      = popReject.Value;
        Item.ActionedOnDate     = DateTime.Now;

        NewsManager.UpdateItem(Item);
        Navigation.Communication_News().Redirect(this);
    }
Exemplo n.º 2
0
    protected void btnCreate_Click(object sender, EventArgs e)
    {
        Category category = (currentSelectedNode == null ? null : NewsManager.GetCategory(currentSelectedNode));

        string catId = (category == null) ? string.Empty : category.Id;

        if (category == null)
        {
            ((IFeedback)Master).SetError(GetType(), ErrorSelectCategory);
        }
        else if (!SecurityHelper.CheckWriteAccess(Page.User.Identity.Name, category.Id))
        {
            ((IFeedback)Master).SetError(GetType(), ErrorCategoryPermission);
        }
        else
        {
            Item = CreateItem(category, ddlOwner.SelectedItem.Text, txtTitle.Text, txtDescription.Content, ItemApprovalStatusManager.GetDraftStatus());

            SaveVersionItem(Item.Id, VersionManager.GetVersionNumber(VersionType.New, string.Empty), SaveType.CheckIn);

            ((IFeedback)Page.Master).QueueFeedback(
                BusiBlocksConstants.Blocks.Communication.LongName,
                Item.GetType().Name,
                Feedback.Actions.Created,
                Item.Title
                );

            Navigation.Communication_News().Redirect(this);
        }
    }
Exemplo n.º 3
0
    private void SaveItem(Category category, SaveType saveType)
    {
        if (txtTitle.Text.Length >= 100)
        {
            ((IFeedback)Page.Master).SetError(GetType(), "The announcement title must be less than 100 characters long");
            return;
        }
        Item.Category    = category;
        Item.Description = txtDescription.Content;
        Item.Title       = txtTitle.Text;
        Item.Tag         = rblAcknowledge.Items.FindByValue("required").Selected.ToString() + ":" +
                           rblApproval.Items.FindByValue("required").Selected.ToString();
        //Item.Expiry = rdpExpiry.SelectedDate;

        string versionId = VersionId;

        if (string.IsNullOrEmpty(versionId))
        {
            versionId = NewVersionId;
        }

        VersionItem versionItem = VersionManager.GetVersionById(versionId);
        VersionType versionType = VersionType.Draft;

        string GroupID       = Item.Id;
        string VersionNumber = VersionManager.GetVersionNumber(VersionType.New, string.Empty);

        ItemApprovalStatus approvalStatus = new ItemApprovalStatus();

        if (rblApproval.SelectedValue.Equals("required"))
        {
            if (saveType == SaveType.CheckIn)
            {
                approvalStatus = ItemApprovalStatusManager.GetDraftStatus();
            }
            else if (saveType == SaveType.Publish)
            {
                approvalStatus = (Item.Author.Equals(Utilities.GetUserName(Page.User.Identity.Name)) == true) ?
                                 ItemApprovalStatusManager.GetForApprovalStatus() : Item.ApprovalStatus = ItemApprovalStatusManager.GetForEditApprovalStatus();
            }
            else
            {
                approvalStatus = new ItemApprovalStatus()
                {
                    Id = string.Empty, Name = string.Empty
                }
            };
        }
        else
        {
            if (saveType == SaveType.CheckIn)
            {
                approvalStatus = ItemApprovalStatusManager.GetDraftStatus();
            }
            else if (saveType == SaveType.Publish)
            {
                approvalStatus = ItemApprovalStatusManager.GetStatusByName("Published");
                versionType    = (rblEditDetails.SelectedIndex == 0) ? VersionType.Minor : VersionType.Major;
            }
        }

        if (versionItem != null)
        {
            //Create a new record only when saving after editing an existing version
            //if it's being put on hold then don't create a new record
            if (saveType == SaveType.Hold)
            {
                NewsManager.UpdateItem(Item);
            }
            else
            {
                Item = CreateItem(category, ddlOwner.SelectedItem.Text, txtTitle.Text, txtDescription.Content, approvalStatus);
            }
            GroupID       = versionItem.GroupId;
            VersionNumber = VersionManager.GetVersionNumber(versionType, versionItem.ItemId);
        }
        //this applies to announcements when they don't have any versions previously.
        else
        {
            Item.ApprovalStatus = approvalStatus;
            NewsManager.UpdateItem(Item);
        }
        //save version item only when checkin or publish.
        if (saveType != SaveType.Hold)
        {
            NewVersionId = SaveVersionItem(GroupID, VersionNumber, saveType);
        }
    }