Exemplo n.º 1
0
/*----------------------------------------------------*/

        public void RemoveReviewAssignment(int aWfProjectTaskID, int aReviewerPersonID)
        {
            cXMLDoc         aXMLDoc;
            XmlNode         aDataObjectNode;
            XmlNode         aFiltersNode;
            cDataObject     aWfProjectTaskDO;
            cDataObject     aAssignmentDO;
            cDataObjectList aWfTARList;

            //DELETE REVIEW ASSIGNMENT

            //Get review assignment object
            aWfProjectTaskDO = DataObjectFactory.GetDataObjectFromPrimaryKey("WfProjectTask", aWfProjectTaskID.ToString());
            aXMLDoc          = DataObjectFactory.CreateDataObjectNode("WfTaskAssignment", out aDataObjectNode, out aFiltersNode);
            aFiltersNode.AppendChild(DataObjectFactory.CreateArgumentNode(aXMLDoc, "Data", "WfTaskID", aWfProjectTaskDO.GetPropertyString("WfTaskID")));
            aFiltersNode.AppendChild(DataObjectFactory.CreateArgumentNode(aXMLDoc, "Data", "GranteeProjectID", GetPropertyString("GranteeProjectID")));
            aFiltersNode.AppendChild(DataObjectFactory.CreateArgumentNode(aXMLDoc, "Data", "PersonID", aReviewerPersonID.ToString()));
            aAssignmentDO = DataObjectFactory.GetDataObject(aDataObjectNode);

            //Get and delete related WfTaskAssignmentReview objects
            aWfTARList = DataObjectFactory.GetDataObjectListWithFilter("WfTaskAssignmentReview", "WfTaskAssignmentID", aAssignmentDO.GetPropertyString("WfTaskAssignmentID"));
            DataObjectFactory.DeleteData(aWfTARList);

            //Delete review assignment object
            DataObjectFactory.DeleteData(aAssignmentDO);

            DeleteGPRSIfNecessary(aWfProjectTaskID);
        }
Exemplo n.º 2
0
/*----------------------------------------------------*/
        ///<summary>
        ///This method checks to see if any assignments exist for a given grantee project review stage object.
        ///If not, the grantee project review stage object is deleted.
        ///</summary>
        public void DeleteGPRSIfNecessary(int aWfProjectTaskID)
        {
            cXMLDoc         aXMLDoc;
            XmlNode         aDataObjectNode;
            XmlNode         aFiltersNode;
            cDataObjectList aRemainingAssignments;
            cDataObject     aWfProjectTaskDO;
            cDataObject     aGPRSDataObject;

            aWfProjectTaskDO = DataObjectFactory.GetDataObjectFromPrimaryKey("WfProjectTask", aWfProjectTaskID.ToString());
            aXMLDoc          = DataObjectFactory.CreateDataObjectNode("WfTaskAssignment", out aDataObjectNode, out aFiltersNode);
            aFiltersNode.AppendChild(DataObjectFactory.CreateArgumentNode(aXMLDoc, "Data", "WfTaskID", aWfProjectTaskDO.GetPropertyString("WfTaskID")));
            aFiltersNode.AppendChild(DataObjectFactory.CreateArgumentNode(aXMLDoc, "Data", "GranteeProjectID", GetPropertyString("GranteeProjectID")));
            aRemainingAssignments = DataObjectFactory.GetDataObjectList(aDataObjectNode);
            if (aRemainingAssignments.Count == 0)
            {
                //Delete GranteeProjectReviewStage object
                ///First, get ReviewStageID based on current stage WfTaskID
                int aReviewStageID = cReviewStage.GetReviewStageIDFromWfProjectTaskID(aWfProjectTaskID, DataObjectFactory);
                ///Next, build data object node to retrieve GranteeProjectReviewStage
                aXMLDoc = DataObjectFactory.CreateDataObjectNode("GranteeProjectReviewStage", out aDataObjectNode, out aFiltersNode);
                aFiltersNode.AppendChild(DataObjectFactory.CreateArgumentNode(aXMLDoc, "Data", "ReviewStageID", aReviewStageID.ToString()));
                aFiltersNode.AppendChild(DataObjectFactory.CreateArgumentNode(aXMLDoc, "Data", "GranteeProjectID", GetPropertyString("GranteeProjectID")));
                aGPRSDataObject = DataObjectFactory.GetDataObject(aDataObjectNode);
                if (aGPRSDataObject != null)
                {
                    DataObjectFactory.DeleteData(aGPRSDataObject);
                }
            }
        }
Exemplo n.º 3
0
/*----------------------------------------------------*/

	public void ReportOutput_Delete() {
		int		aRptOutDataID;
		
		aRptOutDataID = GetRelatedPropertyInt("ReportOutputData.ReportOutputDataID");
		DataObjectFactory.DeleteData("ReportOutputData", aRptOutDataID.ToString());
		
		DataObjectFactory.DeleteData(this);
	}
Exemplo n.º 4
0
/*====================================================*/
/*
	Deletes a this SubmittedFile and related data objects
*/
	public void SubmittedFile_Delete() {
		cDataObject		aDataObject;
		
		aDataObject = GetRelatedPropertyDataObject("SubmittedFileData");
		if (aDataObject != null)
			DataObjectFactory.DeleteData(aDataObject);
		aDataObject = GetRelatedPropertyDataObject("ConvertedFileData");
		if (aDataObject != null)
			DataObjectFactory.DeleteData(aDataObject);

		DataObjectFactory.DeleteData(this);
	}
Exemplo n.º 5
0
/*====================================================*/
        ///<summary>
        ///Delete from database existing review assignments for this GranteeProject
        ///</summary>
        public void DeleteReviewAssignments(int aWfProjectTaskID)
        {
            cDataObject     GranteeProjectReviewStageDO;
            cDataObjectList aReviewAssignmentList;

            GranteeProjectReviewStageDO = GetGranteeProjectReviewStageDO(aWfProjectTaskID);
            DataObjectFactory.DeleteData(GranteeProjectReviewStageDO);

            cDataObject aWfProjectTaskDO = DataObjectFactory.GetDataObjectFromPrimaryKey("WfProjectTask", aWfProjectTaskID);

            aReviewAssignmentList = GetReviewAssignments(aWfProjectTaskDO.GetPropertyInt("WfTaskID"));
            DataObjectFactory.DeleteData(aReviewAssignmentList);
        }
Exemplo n.º 6
0
        /*====================================================*/

        /*
         *  Deletes a this ImportedFile and related data objects
         */
        public void ImportedFile_Delete()
        {
            cDataObject aDataObject;

            aDataObject = GetRelatedPropertyDataObject("ImportedFileData");
            if (aDataObject != null)
            {
                DataObjectFactory.DeleteData(aDataObject);
            }
            //		aDataObject = GetRelatedPropertyDataObject("ConvertedFileData");
            //		if (aDataObject != null)
            //			DataObjectFactory.DeleteData(aDataObject);

            DataObjectFactory.DeleteData(this);
        }
Exemplo n.º 7
0
/*----------------------------------------------------*/
        /// <summary>
        /// removes workflow task assignments and deletes GranteeProjectReviewStage objects
        /// </summary>
        public void DeleteAssignments()
        {
            cDataObject     aWfProjectTask;
            cXMLDoc         aXmlDoc;
            XmlNode         aFiltersNode;
            XmlNode         aArgNode;
            XmlNode         aDataObjectNode;
            String          aProjectID;
            String          aTaskID;
            cDataObjectList aWFTARList;

            aWfProjectTask = DataObjectFactory.GetDataObjectFromPrimaryKey("WfProjectTask", GetPropertyInt("WfProjectTaskID"));
            aTaskID        = aWfProjectTask.GetPropertyString("WfTaskID");
            aProjectID     = aWfProjectTask.GetPropertyString("WfProjectID");

            //Get all workflow task assignments for this project task
            aXmlDoc = DataObjectFactory.CreateDataObjectNode("WfTaskAssignment", out aDataObjectNode, out aFiltersNode);
            aFiltersNode.AppendChild(DataObjectFactory.CreateArgumentNode(aXmlDoc, "Data", "WfTaskID", aTaskID.ToString()));
            aArgNode = aFiltersNode.AppendChild(DataObjectFactory.CreateArgumentNode(aXmlDoc, "Data", "WfProjectID", aProjectID.ToString()));
            aArgNode.AppendChild(DataObjectFactory.CreateArgumentRelatedPropertyNode(aXmlDoc, "GranteeProject"));
            cDataObjectList aWFTAList = DataObjectFactory.GetDataObjectList(aDataObjectNode);

            //Delete all related WfTaskAssignmentReview objects
            foreach (cDataObject aWFTADO in aWFTAList)
            {
                aWFTARList = DataObjectFactory.GetDataObjectListWithFilter("WfTaskAssignmentReview", "WfTaskAssignmentID", aWFTADO.GetPropertyString("WfTaskAssignmentID"));
                DataObjectFactory.DeleteData(aWFTARList);
            }

            //Delete WfTaskAssignment objects
            DataObjectFactory.DeleteData(aWFTAList);

            //Get and delete all GranteeProjectReviewStage objects for this stage
            aXmlDoc = DataObjectFactory.CreateDataObjectNode("GranteeProjectReviewStage", out aDataObjectNode, out aFiltersNode);
            aFiltersNode.AppendChild(DataObjectFactory.CreateArgumentNode(aXmlDoc, "Data", "ReviewStageID", GetPropertyString("ReviewStageID")));
            cDataObjectList aGPRSList = DataObjectFactory.GetDataObjectList(aDataObjectNode);

            DataObjectFactory.DeleteData(aGPRSList);
        }
Exemplo n.º 8
0
/*----------------------------------------------------*/

        public void GenerateAutomaticRequestsConflicts(XmlNodeList aRCTypeNodeList)
        {
            //In this method, the string "RC" within a variable name refers to "Request/Conflict" (e.g., aRCTypeNodeList)
            int aWfTaskID = GetRelatedPropertyDataObject("WfProjectTask").GetPropertyInt("WfTaskID");

            //Delete all existing requests and/or conflicts for this stage
            XmlNode aRCDONode;
            XmlNode aFiltersNode;
            XmlNode aArgumentNode;
            XmlNode aRelatedPropertyNode;

            cXMLDoc aXMLDoc = DataObjectFactory.CreateDataObjectNode("WfTaskAssignmentRequestConflict", out aRCDONode, out aFiltersNode);

            aArgumentNode        = DataObjectFactory.CreateArgumentNode(aXMLDoc, "Data", "WfTaskID", aWfTaskID.ToString());
            aRelatedPropertyNode = DataObjectFactory.CreateArgumentRelatedPropertyNode(aXMLDoc, "WfTaskAssignment", aArgumentNode);
            aFiltersNode.AppendChild(aArgumentNode);
            aArgumentNode = DataObjectFactory.CreateArgumentNode(aXMLDoc, "Data", "Automatic", "True");
            aFiltersNode.AppendChild(aArgumentNode);
            cDataObjectList aRCDOList = DataObjectFactory.GetDataObjectList(aRCDONode);

            DataObjectFactory.DeleteData(aRCDOList);

            //Get DOList of all review assignment WFTAs for request/conflict stage
            XmlNode aWFTADONode;

            aXMLDoc       = DataObjectFactory.CreateDataObjectNode("WfTaskAssignment", out aWFTADONode, out aFiltersNode);
            aArgumentNode = DataObjectFactory.CreateArgumentNode(aXMLDoc, "Data", "WfTaskID", aWfTaskID.ToString());
            aFiltersNode.AppendChild(aArgumentNode);
            cDataObjectList aWFTADOList = DataObjectFactory.GetDataObjectList(aWFTADONode);

            int             aIndex;
            String          aRevFullKey;
            String          aRevRelatedKey;
            String          aRevPropertyKey;
            cDataObjectList aRevDOList;
            String          aAppFullKey;
            String          aAppRelatedKey;
            String          aAppPropertyKey;
            cDataObjectList aAppDOList;
            XmlNode         aReviewerNode;
            XmlNodeList     aRevFiltersNodeList;
            XmlNode         aApplicantNode;
            XmlNodeList     aAppFiltersNodeList;
            int             aRCID = 0;
            int             i;

            //foreach(cDataObject aWFTADO in aWFTADOList) {
            for (i = 0; i < aWFTADOList.Count; i++)
            {
                cDataObject aWFTADO = aWFTADOList[i];
                Debug.WriteLine("Checking " + i.ToString() + " of " + aWFTADOList.Count.ToString());
                bool aRC = false;
                foreach (XmlNode aRCTypeNode in aRCTypeNodeList)
                {
                    //Get reviewer property data object list
                    aReviewerNode       = aRCTypeNode.SelectSingleNode("Reviewer");
                    aRevFiltersNodeList = aReviewerNode.SelectNodes("Filters/Argument");
                    aRevFullKey         = cXMLDoc.AttributeToString(aReviewerNode, "PropertyKey");
                    aIndex = aRevFullKey.LastIndexOf(".");
                    if (aIndex == -1)
                    {
                        aRevDOList      = this.DataObjectList;
                        aRevPropertyKey = aRevFullKey;
                    }
                    else
                    {
                        aRevRelatedKey  = aRevFullKey.Substring(0, aIndex);
                        aRevDOList      = aWFTADO.GetRelatedPropertyDataObjectList(aRevRelatedKey);
                        aRevPropertyKey = aRevFullKey.Substring(aIndex + 1);
                    }

                    //Get applicant property data object list
                    aApplicantNode      = aRCTypeNode.SelectSingleNode("Applicant");
                    aAppFiltersNodeList = aApplicantNode.SelectNodes("Filters/Argument");
                    aAppFullKey         = cXMLDoc.AttributeToString(aApplicantNode, "PropertyKey");
                    aIndex = aAppFullKey.LastIndexOf(".");
                    if (aIndex == -1)
                    {
                        aAppDOList      = this.DataObjectList;
                        aAppPropertyKey = aAppFullKey;
                    }
                    else
                    {
                        aAppRelatedKey  = aAppFullKey.Substring(0, aIndex);
                        aAppDOList      = aWFTADO.GetRelatedPropertyDataObjectList(aAppRelatedKey);
                        aAppPropertyKey = aAppFullKey.Substring(aIndex + 1);
                    }

                    //Loop through both lists; return true if any values are equal
                    foreach (cDataObject aRevDO in aRevDOList)
                    {
                        if (aRevDO.MeetsFilterCriteria(aRevFiltersNodeList))
                        {
                            foreach (cDataObject aAppDO in aAppDOList)
                            {
                                if (aAppDO.MeetsFilterCriteria(aAppFiltersNodeList))
                                {
                                    if (aRevDO.GetPropertyString(aRevPropertyKey) == aAppDO.GetPropertyString(aAppPropertyKey))
                                    {
                                        aRC   = true;
                                        aRCID = Convert.ToInt32(cXMLDoc.AttributeToString(aRCTypeNode, "ID"));
                                        break;
                                    }
                                }
                            }                    //foreach(cDataObject aAppDO in aAppDOList)
                        }
                        if (aRC)
                        {
                            break;
                        }
                    }            //foreach(cDataObject aRevDO in aRevDOList)
                    if (aRC)
                    {
                        break;
                    }
                }        //foreach(XmlNode aRCTypeNode in aRCTypeNodeList)
                if (aRC)
                {
                    //Get request/conflict definition to find out whether this is a request or a conflict
                    cDataObject aRCDefDO           = DataObjectFactory.GetDataObjectFromPrimaryKey("Conflict", aRCID.ToString());
                    int         aRequestConflictID = aRCDefDO.GetPropertyInt("RequestConflictID");
                    //Write request/conflict row
                    cDataObject aRCDO;
                    aRCDO = DataObjectFactory.CreateNewDataObjectFromKey("WfTaskAssignmentRequestConflict");
                    aRCDO["ConflictID"]         = aRCID;
                    aRCDO["WfTaskAssignmentID"] = aWFTADO.GetPropertyInt("WfTaskAssignmentID");
                    aRCDO["RequestConflictID"]  = aRequestConflictID;
                    aRCDO["Automatic"]          = true;
                    DataObjectFactory.SaveDataObject(aRCDO);
                }
            }    //foreach(cDataObject aWFTADO in aWFTADOList)
        }