2016-04-27 4 views
0

Может ли кто-нибудь показать мне код для обновления пользовательского поля корпоративного ресурса с помощью таблицы поиска? Уже запущен интернет, ища пример кода, но не удалось.Пользовательское поле ресурса обновления PSI с поисковой таблицей (Project Server)

ответ

0

Вы можете создать и обновить настраиваемое поле с помощью таблицы поиска, используя приведенный ниже код. Но мы не можем обновлять или удалять встроенные пользовательские поля

var projContext = new ProjectContext(projectServerUrl); 

CustomFieldCollection CustomField = projContext.CustomFields; 
EntityTypes Entitytype = projContext.EntityTypes; 
LookupTableCollection lookupTables = projContext.LookupTables; 
projContext.Load(CustomField); 
projContext.Load(Entitytype); 
projContext.Load(lookupTables); 
projContext.ExecuteQuery(); 

CustomFieldCreationInformation NewfieldInfo = new CustomFieldCreationInformation(); 
NewfieldInfo.Id = new Guid(); 
NewfieldInfo.Name = "The Name"; 
NewfieldInfo.Description = "The Description"; 
NewfieldInfo.IsWorkflowControlled = true; 
NewfieldInfo.IsRequired = true; 
NewfieldInfo.IsEditableInVisibility = false; 
NewfieldInfo.IsMultilineText = false; 

LookupTable lookuptable = lookupTables.ToList().Find(x => x.Name == "LookupTableName"); 
projContext.Load(lookuptable); 
projContext.ExecuteQuery(); 
NewfieldInfo.LookupTable = lookuptable; 

NewfieldInfo.EntityType = Entitytype.ProjectEntity; 
NewfieldInfo.FieldType = CustomFieldType.TEXT; 

projContext.CustomFields.Add(NewfieldInfo); 
projContext.CustomFields.Update(); 
projContext.ExecuteQuery();