Raghu's SharePoint Column : SharePoint - My Lifeline!!

Raghu's SharePoint Column

SPUser Detail from Person-Group Field from SharePoint List

SPUser Detail from Person-Group Field from SharePoint List
Recently while working on custom timer job I ran into a scenario where I need SPUser detail for sending mail from the Person/Group Field value in the SharePoint list. Initially while doing this it would be very simple just by typecasting it, but it doesn’t seem to work.

After reading few article I came to conclusion that to create a SPUser from the value present in the Person/Group field, first we need to create a SPFieldUser object and get the required Field instance and assign to this object, next create a SPFieldUser Value object and assign the value using the GetFieldValue method of the SPFieldUser object. Finally Create a SPUser object and assign user value from the SPFieldUserValue.User.

The complete code snippet for the above logic is given below

SPFieldUser userField = (SPFieldUser)site.Lists["Gifts"].Fields.GetField("AccountOwner");
SPFieldUserValue fieldValue = (SPFieldUserValue)userField.GetFieldValue(item["AccountOwner"].ToString());
SPUser user = fieldValue.User;

string emailId = user.Email;
Leave a Reply

Protected by WP Anti Spam