Мне нужно найти пользователя в списке, чтобы установить свойство назначенной задаче, эта информация находится в списке. Поэтому я использую этот метод:
public static SPUser GetSPUser(SPListItem item, string key){
SPFieldUser field = item.Fields[key] as SPFieldUser;
if (field != null)
{
SPFieldUserValue fieldValue = field.GetFieldValue(item[key].ToString()) as SPFieldUserValue;
if (fieldValue != null)
{
return fieldValue.User;
}
}
return null;
}
Проблема в том, что когда я использую этот метод или эту часть кода, мой рабочий процесс останавливается, ничего не сказав. Вот пример кода, когда я его использую:
using (SPSite site = new SPSite(adress_of_my_site))
{
using (SPWeb web = site.OpenWeb())
{
SPList list = web.Lists["Acteurs du projet"];
SPView view = cobj_ListeDesActeursDuProjet.DefaultView;
SPListItemCollection itemcollection = list.GetItems(view);
foreach (SPListItem item in itemcollection)
{
SPUser lobj_acteur = Utilities.GetSPUser(item,"acteur");
// Dictionary<string,class>
ActeursDuProjet[item["Rôle"].ToString()] =
new ActeursDuProjet()
{
Login = lobj_acteur.LoginName,
Email = lobj_acteur.Email
};
}
}
}
Если я прокомментирую содержание моего foreach, мой рабочий процесс также продолжится ...
Если у кого-то есть идея, это будет круто.
С уважением,
Лоик
редактировать: проблема в коде