Ulteam.SharePoint.Client
FieldValue Class
Namespace: Ulteam.SharePoint.Client
Description
Класс по работе со значениями полей в элементе списка SharePoint.
Methods
Name | Description |
---|---|
GetValue<T>(ListItem Item, String Key) | Возвращает значение поля типа T элемента списка. Item: Элемент списка Key: Internal Name поля |
GetValueAsBool(ListItem Item, String Key) | Возвращает логическое значение поля элемента списка. Item: Элемент списка Key: Internal Name поля |
GetValueAsChoice(ListItem Item, String Key) | Возвращает значение поля типа “Выбор” (без множественных значений) элемента списка. Item: Элемент списка Key: Internal Name поля |
GetValueAsDateTime(ListItem Item, String Key) | Возвращает значение поля типа “Дата и время” (UTC) элемента списка. Если не удалось перевести в DateTime, то возвращается DateTime.MinValue. Item: Элемент списка Key: Internal Name поля |
GetValueAsInt(ListItem Item, String Key) | Возвращает числовое значение поля элемента списка. Item: Элемент списка Key: Internal Name поля |
GetValueAsLookup(ListItem Item, String Key) | Возвращает значение поля типа “Подстановка без множественного выбора” элемента списка. Если в поле доступен множественный выбор, то вернется только первое значение. Item: Элемент списка Key: Internal Name поля |
GetValueAsMultiChoice(ListItem Item, String Key) | Возвращает значение поля типа “Выбор” с множественными значениями элемента списка. Item: Элемент списка Key: Internal Name поля |
GetValueAsMultiLookup(ListItem Item, String Key) | Возвращает значение поля типа “Подстановка с множественным выбором” элемента списка. Если в поле недоступен множественный выбор, то вернется массив с одним значением. Item: Элемент списка Key: Internal Name поля |
GetValueAsMultiUser(ListItem Item, String Key) | Возвращает значение поля типа “Пользователь или группа с множественным выбором” элемента списка. Если в поле недоступен множественный выбор, то вернется массив с одним значением. Item: Элемент списка Key: Internal Name поля |
GetValueAsText(ListItem Item, String Key) | Возвращает текстовое значение поля элемента списка. Item: Элемент списка Key: Internal Name поля |
GetValueAsUser(ListItem Item, String Key) | Возвращает значение поля типа “Пользователь или группа без множественного выбора” элемента списка. Если в поле доступен множественный выбор, то вернется только первое значение. Item: Элемент списка Key: Internal Name поля |
SetValueAsLookup(String LookupId) | Возвращает значение для записи в поле типа “Подстановка без множественного выбора” элемента списка. LookupId: Id элемента списка в подстановке |
SetValueAsMultiLookup(String LookupIdList, Char Separator) | Возвращает значение для записи в поле типа “Подстановка с множественным выбором” элемента списка. LookupIdList: Список Id элементов списка в подстановке Separator: Разделитель в списке |
SetValueAsMultiUser(String UserIdList, Char Separator) | Возвращает значение для записи в поле типа “Пользователь или группа с множественным выбором” элемента списка. UserIdList: Список Id пользователей Separator: Разделитель в списке |
SetValueAsUser(String UserId) | Возвращает значение для записи в поле типа “Пользователь или группа без множественного выбора” элемента списка. UserId: Id пользователя |
GetEmails(FieldUserValue Value, ClientContext Context) | Получение Email’ов пользователей в группе SharePoint или Email одного пользователя, если FieldUserValue - это пользователь. Value: Значение поля типа “Пользователь или группа”. Context: SharePoint site collection context. |
GetEmails(List<FieldUserValue> Values, ClientContext Context) | Получение Email’ов пользователей в группе SharePoint или Email одного пользователя, если FieldUserValue - это пользователь. Values: Список значений поля типа “Пользователь или группа”. Context: SharePoint site collection context. |
GetEmailsFromGroup(Group Group) | Получение Email’ов пользователей в группе SharePoint. Group: Группа SharePoint. |
GetUserFieldType(FieldUserValue Value, ClientContext Context) | Определяем тип FieldUserValue: пользователь или группа. Value: Значение поля типа “Пользователь или группа”. Context: SharePoint site collection context. |
Samples
/// <summary>
/// Получение списка FieldUserValue.
/// </summary>
public void GetEmails()
{
ClientContext context = TestSettings.Context;
FieldUserValue group = new FieldUserValue { LookupId = MockData.GroupId1 };
FieldUserValue user = new FieldUserValue { LookupId = MockData.UserId1 };
List<string> emails = group.GetEmails(context); // вернет список email'в всех пользователей в группе
List<FieldUserValue> fieldUserValues = new List<FieldUserValue> { group, user };
emails = fieldUserValues.GetEmails(context); // вернет список email'в из всех FieldUserValue и удалит совпадения
}
/// <summary>
/// Получение значений из ListItem'а
/// </summary>
public void GetFieldValues()
{
ListItem item = TestSettings.FieldValueListItems[1];
string textValue = item.GetValueAsText("TextField");
bool boolValue = item.GetValueAsBool("BooleanField");
DateTime dateTimeValue = item.GetValueAsDateTime("DateTimeField");
int intValue = item.GetValueAsInt("NumberField");
string choiceValue = item.GetValueAsChoice("ChoiceField");
string[] multiChoiceValue = item.GetValueAsMultiChoice("MultiChoiceField");
FieldLookupValue fieldLookupValue = item.GetValueAsLookup("LookupField");
FieldLookupValue[] fieldLookupValues = item.GetValueAsMultiLookup("MultiLookupField");
FieldUserValue fieldUserValue = item.GetValueAsUser("UserField");
FieldUserValue[] fieldUserValues = item.GetValueAsMultiUser("MultiUserField");
}
/// <summary>
/// Определение, пользователь или группа в FieldUserValue.
/// </summary>
public void GetUserFieldType()
{
ClientContext context = TestSettings.Context;
FieldUserValue group = new FieldUserValue { LookupId = MockData.GroupId1 };
FieldUserValue user = new FieldUserValue { LookupId = MockData.UserId1 };
group.GetUserFieldType(context); // return FieldValueType.Group
user.GetUserFieldType(context); // return FieldValueType.User
}
/// <summary>
/// Запись значений в ListItem.
/// </summary>
public void SetFieldValues()
{
ClientContext context = TestSettings.Context;
List list = TestSettings.FieldValueList;
ListItemCreationInformation itemCreateInfo = new ListItemCreationInformation();
ListItem newItem = list.AddItem(itemCreateInfo);
string userId = MockData.UserId1.ToString(); // id пользователя в site collection
string userIdList = $"{MockData.UserId1.ToString()},{MockData.UserId2.ToString()}";
newItem["UserField"] = FieldValue.SetValueAsUser(userId); // userId = "11"
newItem["MultiUserField"] = FieldValue.SetValueAsMultiUser(userIdList, ','); // userIdList = "11,12"
newItem["LookupField"] = FieldValue.SetValueAsLookup("1");
newItem["MultiLookupField"] = FieldValue.SetValueAsMultiLookup("1,2", ',');
newItem.Update();
context.ExecuteQuery();
}