Sharepoint Insight by Namwar Rizvi

Sharepoint Tips, Tricks and inside knowledge from real world experience by Namwar Rizvi

Archive for the ‘Event Handler’ Category

How to find End Date Pattern in Sharepoint Recurring Event

Posted by namwar on August 18, 2008


Sharepoint recurring events are similar to Outlook recurring events and provides several options to specify End Date pattern. If you find the type of End Date pattern in a recurring event you can find it in AfterProperties field of SPItemEventProperties object. Just check following

AfterProperties[“RecurrencePattern#EndDateRangeType:fRecurrence”]

Following are possible outputs and their meaning

  • 0   No end date.
  • 1   End after a specified number of occurrences. Requires that RecurrencePattern#repeatInstances:fRecurrence be specified.
  • 2   End by a specified date. Requires that RecurrencePattern#windowEnd:fRecurrence be specified.
Advertisements

Posted in Event Handler, Object Model | Tagged: | Leave a Comment »

How to get SPUser (User) from Person or Group field of Sharepoint List

Posted by namwar on July 26, 2008


While writing document event handler, sometimes we need to to process the logic based on the value of Person or Group field. Sharepoint stores ID of the user in Person or Group field and there is no obvious way to get the SPUser object from this ID because this ID is stored as ID field in the userinfo and userdata tables. Following function is the qucikest way to get SPUser object from ID. Call this function with

  1. the name of the Sharepoint list where your event is fired and
  2. SPItemEventProperties object which has been passed to you as your event arguments
public SPUser GetSPUserFromID(string listName, SPItemEventProperties properties)
{
SPFieldUser userField = (SPFieldUser)properties.OpenWeb().Lists[listName].Fields.GetField(accountNameField);
SPFieldUserValue fieldValue = (SPFieldUserValue)userField.GetFieldValue(currentValue);
SPUser user = fieldValue.User;
return user;
}

Posted in Event Handler | Tagged: , | 9 Comments »