Nice Article by Sandeep
http://snahta.blogspot.in/2008/09/reading-change-log-for-user-profile.html
using System; using System.Collections.Generic; using Microsoft.SharePoint; using Microsoft.Office.Server; using Microsoft.Office.Server.UserProfiles; namespace ChangeLog { class Program { static void Main(string[] args) { try { using (SPSite spSite = new SPSite(@"http://localhost")) { ServerContext siteContext = ServerContext.GetContext(spSite); UserProfileManager pmManager = new UserProfileManager(siteContext); // This gets some subset of changes to a user profile // Display the changes that have occurred in the last month DateTime dtNumberDays = DateTime.UtcNow.Subtract(TimeSpan.FromDays(30)); // Create a change token to compare the number of days UserProfileChangeToken upChangeToken = new UserProfileChangeToken(dtNumberDays); // Create a query object to determine which changes are displayed UserProfileChangeQuery QueryAnniversayAndColleagues = new UserProfileChangeQuery(false, true); QueryAnniversayAndColleagues.ChangeTokenStart = upChangeToken; QueryAnniversayAndColleagues.Anniversary = true; QueryAnniversayAndColleagues.Colleague = true; string strUserName = "domain\\sandeep"; if (pmManager.UserExists(strUserName)) { UserProfile spMyUser = pmManager.GetUserProfile(strUserName); UserProfileChangeCollection MyUserProfileChanges = spMyUser.GetChanges(QueryAnniversayAndColleagues); foreach (UserProfileChange MyUserChange in MyUserProfileChanges) { Console.WriteLine(MyUserChange.EventTime.ToString()); if (MyUserChange is UserProfileAnniversaryChange) { UserProfileAnniversaryChange AnniversryEvent = (UserProfileAnniversaryChange)MyUserChange; Console.WriteLine(AnniversryEvent.Anniversary); Console.WriteLine(AnniversryEvent.ProfileProperty); } else if (MyUserChange is UserProfileColleagueChange) { UserProfileColleagueChange ColleagueEvent = (UserProfileColleagueChange)MyUserChange; } } } } } catch (Exception exp) { Console.WriteLine(exp.Message); } } } }
Reference
http://snahta.blogspot.in/2008/09/reading-change-log-for-user-profile.html
No comments:
Post a Comment