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); }
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); } }
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); } }