Как я могу обновить пользовательские поля проекта быстрее? - PullRequest
0 голосов
/ 21 июня 2019

Я выполнил код для обновления пользовательских полей проекта.Но он работает немного медленно.Я пытался идти быстрее, но не получилось.Кто-нибудь есть идеи, как запустить его быстрее, пожалуйста?

  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);
                                }
                            }
                        }
                }
            } ;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...