Я получаю доступ к списку элементов календаря на сайте SharePoint2013 следующим образом:
public ListItemCollection GetListByTitle(string title)
{
ClientContext context = new ClientContext(_site);
List list = context.Web.Lists.GetByTitle(title);
ListItemCollection listItems = list.GetItems(new CamlQuery()); // Empty CamlQuery to return all items in list
context.Load(listItems);
context.ExecuteQuery();
return listItems;
}
Затем я передаю эту ListItemCollection другому методу, который сопоставит некоторые свойства элемента с пользовательской моделью.
public List<CustomModel>GetListOfCustomModel(ListItemCollection listItems)
{
List<CustomModel> customModelList = new List<CustomModel>();
foreach(ListItem i in listItems)
{
FieldUserValue contact = (FieldUserValue)i.FieldValues["Contact"];
string s = (string)(contact.LookupValue);
string t = (string)i.FieldValues["Title"];
DateTime start = (DateTime)i.FieldValues["EventDate"];
// etc.
}
}
Все «встроенные» свойства легко получить, но я не могу понять, как получить доступ к ресурсам, которые компания создала и прикрепила к этим элементам.
Например, к каждому элементу календаря прикреплен ресурс "Комната". Я понимаю, что это "метаданные", но, конечно, я должен иметь к ним доступ как-нибудь? Это должно быть связано с предметом, который я просто не знаю, где искать. Когда я делаю представление списка SharePoint для каждого столбца в списке, я вижу, что ресурс "комната" генерируется как ссылка со ссылкой на ресурс.
Или я собираюсь в конечном итоге просмотреть текстовый ответ от просматривая мою страницу LISTALL в веб-запросе и анализируя комнату, используя старые добрые манипуляции со строками?!