Я выполнил код для обновления пользовательских полей проекта.Но он работает немного медленно.Я пытался идти быстрее, но не получилось.Кто-нибудь есть идеи, как запустить его быстрее, пожалуйста?
var ctx = new ProjectContext(FinaleUrl);
ctx.Credentials = creds;
ctx.Load(ctx.Projects);
ctx.ExecuteQuery();
CustomFieldCollection customFields = ctx.CustomFields;
ctx.Load(customFields);
ctx.ExecuteQuery();
foreach (PublishedProject pubProj in ctx.Projects)
{
foreach (DataRow row in dt.Rows)
{
if (pubProj.ProjectIdentifier.ToString() == row["ProjectID"].ToString())
foreach (CustomField cf in customFields)
{
for (int i = 0; i < dt.Columns.Count; i++)
{
if (dt.Columns[i].ToString() == cf.Name)
{
DraftProject draft = pubProj.Draft;
JobState job1 = ctx.WaitForQueue(draft.CheckIn(true), 10);
DraftProject check = pubProj.CheckOut();
check.SetCustomFieldValue(cf.InternalName, row[cf.Name].ToString().Replace('.', ','));
check.Update();
ctx.Load(check);
check.Publish(false);
check.CheckIn(true);
JobState jobState = ctx.WaitForQueue(ctx.Projects.Update(), 10);
MessageBox.Show(cf.Id.ToString() + "\n" + cf.Name + "\n" + cf.InternalName);
}
}
}
}
} ;