Hi Guys,
Can you please help me to find out value of predecessor Number Value For Activity2 by Method .
For project Management .
Thank in Advance.
Hi Guys,
Can you please help me to find out value of predecessor Number Value For Activity2 by Method .
For project Management .
Thank in Advance.
I care about this issue. How did you handle them? seterra
Hope below code work for you
Item GetActivitiesNumbers = inn.newItem("Method");
//GetActivitiesNumbers.setProperty("name", "GetActivitiesNumbers");
GetActivitiesNumbers.setProperty("rootWBS",WBS_ElemenRS2ID);
Item resultItem = GetActivitiesNumbers.apply("GetActivitiesNumbers");
new ND_Log().SetUserID("resultItem: " + resultItem, user_id, logfilePath);
doc.LoadXml(resultItem.ToString());
XmlElement myElement = doc.DocumentElement;
// Create an attribute collection from the element.
XmlNodeList AactiviElement =myElement.GetElementsByTagName("a");
//new ND_Log().SetUserID("AactiviElement.Count: " + AactiviElement.Count, user_id, logfilePath);
for (int actidnum=0; actidnum< AactiviElement.Count; actidnum++)
{
string id = AactiviElement[actidnum].Attributes["id"].Value;
new ND_Log().SetUserID("id: " + id, user_id, logfilePath);
string number = AactiviElement[actidnum].Attributes["number"].Value;
inn.applySQL("update innovator.Activity2 set nd_number='" + number + "' where id='" + id + "' ");
}
}
// Activity 2
Item act2 = inn.newItem();
Item acti2 = inn.newItem();
Item actPredecessor = inn.newItem();
actPredecessor.loadAML("<Item type='Activity2' action='get' select='id,name,proj_num,date_start_sched,date_due_sched,nd_date_start_schedbase1,nd_date_due_schedbase1,nd_date_start_schedbase2,nd_date_due_schedbase2,nd_date_start_schedbase3,nd_date_due_schedbase3,nd_date_start_schedbase4,nd_date_due_schedbase4,nd_date_start_schedbase5,nd_date_due_schedbase5,nd_date_start_schedbase6,nd_date_due_schedbase6,nd_date_start_schedbase7,nd_date_due_schedbase7,nd_date_start_schedbase8,nd_date_due_schedbase8,nd_date_start_schedbase9,nd_date_due_schedbase9,nd_date_start_schedbase10,nd_date_due_schedbase10,percent_compl,expected_duration,nd_status'>" +
"<proj_num condition='eq'>" + project_number + "</proj_num>" +
"</Item>");
Item actPredecessor2 = actPredecessor.apply();
int actPredecessor2Count = actPredecessor2.getItemCount();
new ND_Log().SetUserID("actPredecessor2Count : " + actPredecessor2Count, user_id, logfilePath);
for (int num = 0; num < actPredecessor2Count; num++)
{
Item actPredecessor2R = actPredecessor2.getItemByIndex(num);
Item Predecessor = actPredecessor2R.fetchRelationships("Predecessor").getRelationships("Predecessor");
string predecessorString = "";
int PredecessorCount = Predecessor.getItemCount();
for (int pre = 0; pre < PredecessorCount; pre++)
{
Item RelatePredecessor = Predecessor.getItemByIndex(pre);
string related_id = RelatePredecessor.getProperty("related_id");
Item PredesActivity2 = inn.getItemById("Activity2", related_id);
if (string.IsNullOrEmpty(predecessorString))
{
predecessorString = PredesActivity2.getProperty("nd_number");
}
else {
predecessorString = predecessorString+","+ PredesActivity2.getProperty("nd_number");
}
}
//string nd_predecessor = "";
inn.applySQL("update innovator.Activity2 set nd_predecessor='" + predecessorString + "' where id='" + actPredecessor2R.getID() + "' ");
// new ND_Log().SetUserID("Successor Name: " + actPredecessor2R.getProperty("name") + " predecessorString Name:" + predecessorString, user_id, logfilePath);
}
Hope below code work for you
Item GetActivitiesNumbers = inn.newItem("Method");
//GetActivitiesNumbers.setProperty("name", "GetActivitiesNumbers");
GetActivitiesNumbers.setProperty("rootWBS",WBS_ElemenRS2ID);
Item resultItem = GetActivitiesNumbers.apply("GetActivitiesNumbers");
new ND_Log().SetUserID("resultItem: " + resultItem, user_id, logfilePath);
doc.LoadXml(resultItem.ToString());
XmlElement myElement = doc.DocumentElement;
// Create an attribute collection from the element.
XmlNodeList AactiviElement =myElement.GetElementsByTagName("a");
//new ND_Log().SetUserID("AactiviElement.Count: " + AactiviElement.Count, user_id, logfilePath);
for (int actidnum=0; actidnum< AactiviElement.Count; actidnum++)
{
string id = AactiviElement[actidnum].Attributes["id"].Value;
new ND_Log().SetUserID("id: " + id, user_id, logfilePath);
string number = AactiviElement[actidnum].Attributes["number"].Value;
inn.applySQL("update innovator.Activity2 set nd_number='" + number + "' where id='" + id + "' ");
}
}
// Activity 2
Item act2 = inn.newItem();
Item acti2 = inn.newItem();
Item actPredecessor = inn.newItem();
actPredecessor.loadAML("<Item type='Activity2' action='get' select='id,name,proj_num,date_start_sched,date_due_sched,nd_date_start_schedbase1,nd_date_due_schedbase1,nd_date_start_schedbase2,nd_date_due_schedbase2,nd_date_start_schedbase3,nd_date_due_schedbase3,nd_date_start_schedbase4,nd_date_due_schedbase4,nd_date_start_schedbase5,nd_date_due_schedbase5,nd_date_start_schedbase6,nd_date_due_schedbase6,nd_date_start_schedbase7,nd_date_due_schedbase7,nd_date_start_schedbase8,nd_date_due_schedbase8,nd_date_start_schedbase9,nd_date_due_schedbase9,nd_date_start_schedbase10,nd_date_due_schedbase10,percent_compl,expected_duration,nd_status'>" +
"<proj_num condition='eq'>" + project_number + "</proj_num>" +
"</Item>");
Item actPredecessor2 = actPredecessor.apply();
int actPredecessor2Count = actPredecessor2.getItemCount();
new ND_Log().SetUserID("actPredecessor2Count : " + actPredecessor2Count, user_id, logfilePath);
for (int num = 0; num < actPredecessor2Count; num++)
{
Item actPredecessor2R = actPredecessor2.getItemByIndex(num);
Item Predecessor = actPredecessor2R.fetchRelationships("Predecessor").getRelationships("Predecessor");
string predecessorString = "";
int PredecessorCount = Predecessor.getItemCount();
for (int pre = 0; pre < PredecessorCount; pre++)
{
Item RelatePredecessor = Predecessor.getItemByIndex(pre);
string related_id = RelatePredecessor.getProperty("related_id");
Item PredesActivity2 = inn.getItemById("Activity2", related_id);
if (string.IsNullOrEmpty(predecessorString))
{
predecessorString = PredesActivity2.getProperty("nd_number");
}
else {
predecessorString = predecessorString+","+ PredesActivity2.getProperty("nd_number");
}
}
//string nd_predecessor = "";
inn.applySQL("update innovator.Activity2 set nd_predecessor='" + predecessorString + "' where id='" + actPredecessor2R.getID() + "' ");
// new ND_Log().SetUserID("Successor Name: " + actPredecessor2R.getProperty("name") + " predecessorString Name:" + predecessorString, user_id, logfilePath);
}