public void CopyActionButton_Clicked(object sender, ClickedEventArgs e) { WriteToDebug("Copy Action Button Clicked"); SetCurrentAction(e, false); XPathNavigator action = GetCurrentAction(); XPathNodeIterator actions = this.MainDataSource.CreateNavigator().Select("/my:myFields/my:Actions/my:Action", this.NamespaceManager); string actionStatus = action.SelectSingleNode("/my:myFields/my:Actions/my:Action/my:ActionStatus", NamespaceManager).Value; XPathNavigator actionOriginal = e.Source; XPathNavigator actionCopy = actionOriginal.Clone(); XPathNavigator actionLast = this.MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/my:Actions/my:Action[last()]", this.NamespaceManager); actionLast.InsertAfter(actionCopy); if ((actionStatus == "Awaiting Approval") || (actionStatus == "Open")) { actionCopy.SelectSingleNode("my:ActionStatus", NamespaceManager).SetValue("Awaiting Approval"); actionCopy.SelectSingleNode("my:ActionAssignee/pc:Person/pc:DisplayName", NamespaceManager).SetValue(""); actionCopy.SelectSingleNode("my:ActionAssignee/pc:Person/pc:AccountId", NamespaceManager).SetValue(""); actionCopy.SelectSingleNode("my:ActionAssignee/pc:Person/pc:AccountType", NamespaceManager).SetValue(""); actionCopy.SelectSingleNode("my:ActionAssigneeExternal", NamespaceManager).SetValue(""); actionCopy.SelectSingleNode("my:ActionDeadline", NamespaceManager).SetValue(""); actionCopy.SelectSingleNode("my:InitialActionAssignee", NamespaceManager).SetValue(""); actionCopy.SelectSingleNode("my:InitialActionApprover", NamespaceManager).SetValue(""); } if ((actionStatus == "Completed") || (actionStatus == "Closed")) { actionCopy.SelectSingleNode("my:ActionStatus", NamespaceManager).SetValue("Awaiting Approval"); actionCopy.SelectSingleNode("my:ActionAssignee/pc:Person/pc:DisplayName", NamespaceManager).SetValue(""); actionCopy.SelectSingleNode("my:ActionAssignee/pc:Person/pc:AccountId", NamespaceManager).SetValue(""); actionCopy.SelectSingleNode("my:ActionAssignee/pc:Person/pc:AccountType", NamespaceManager).SetValue(""); actionCopy.SelectSingleNode("my:ActionAssigneeExternal", NamespaceManager).SetValue(""); actionCopy.SelectSingleNode("my:ActionDeadline", NamespaceManager).SetValue(""); actionCopy.SelectSingleNode("my:InitialActionAssignee", NamespaceManager).SetValue(""); actionCopy.SelectSingleNode("my:InitialActionApprover", NamespaceManager).SetValue(""); //actionCopy.SelectSingleNode("my:CloseOutComment", NamespaceManager).SetValue(""); actionCopy.SelectSingleNode("my:ActionCompletedDate", NamespaceManager).SetValue(""); } if ((actionStatus == "Rejected")) { actionCopy.SelectSingleNode("my:ActionStatus", NamespaceManager).SetValue("Awaiting Approval"); actionCopy.SelectSingleNode("my:ActionAssignee/pc:Person/pc:DisplayName", NamespaceManager).SetValue(""); actionCopy.SelectSingleNode("my:ActionAssignee/pc:Person/pc:AccountId", NamespaceManager).SetValue(""); actionCopy.SelectSingleNode("my:ActionAssignee/pc:Person/pc:AccountType", NamespaceManager).SetValue(""); actionCopy.SelectSingleNode("my:ActionAssigneeExternal", NamespaceManager).SetValue(""); actionCopy.SelectSingleNode("my:ActionDeadline", NamespaceManager).SetValue(""); actionCopy.SelectSingleNode("my:InitialActionAssignee", NamespaceManager).SetValue(""); actionCopy.SelectSingleNode("my:InitialActionApprover", NamespaceManager).SetValue(""); // actionCopy.SelectSingleNode("my:ActionRejectReason", NamespaceManager).SetValue(""); //actionCopy.SelectSingleNode("my:CloseOutComment", NamespaceManager).SetValue(""); } if ((actionStatus == "Completion Rejected")) { actionCopy.SelectSingleNode("my:ActionStatus", NamespaceManager).SetValue("Awaiting Approval"); actionCopy.SelectSingleNode("my:ActionAssignee/pc:Person/pc:DisplayName", NamespaceManager).SetValue(""); actionCopy.SelectSingleNode("my:ActionAssignee/pc:Person/pc:AccountId", NamespaceManager).SetValue(""); actionCopy.SelectSingleNode("my:ActionAssignee/pc:Person/pc:AccountType", NamespaceManager).SetValue(""); actionCopy.SelectSingleNode("my:ActionAssigneeExternal", NamespaceManager).SetValue(""); actionCopy.SelectSingleNode("my:ActionDeadline", NamespaceManager).SetValue(""); actionCopy.SelectSingleNode("my:InitialActionAssignee", NamespaceManager).SetValue(""); actionCopy.SelectSingleNode("my:InitialActionApprover", NamespaceManager).SetValue(""); //actionCopy.SelectSingleNode("my:ActionCompleteRejectReason", NamespaceManager).SetValue(""); //actionCopy.SelectSingleNode("my:CloseOutComment", NamespaceManager).SetValue(""); actionCopy.SelectSingleNode("my:ActionCompletedDate", NamespaceManager).SetValue(""); } }