Skip to main content

How to check the Checkout and checkin of List Items in Event Receivers


To check is the List Item has been checkout or checkin the below code snippet will help.


If vti_sourcecontrolcheckedoutby of AfterProperties is null and vti_sourcecontrolcheckedoutby of  BeforeProperties is NOT null then the event is caused by Checkin.


if (properties.AfterProperties["vti_sourcecontrolcheckedoutby"] == null 
&& properties.BeforeProperties["vti_sourcecontrolcheckedoutby"] != null) 

    // event is fired by check-in. 

else 

    // events fired  other than check-in . 
}




Note : Better to use EventFiringEnabled=false at the starting point of the function in the event receiver (Item updating,Item Adding etc....)
and at last, make to true.
EventFiringEnabled=true.  Which avoids unnecessary event firing of List items


Sharepoint smoking..........
Dharani CM





Comments

Popular posts from this blog

Retrieving Picture URL or User Info from sharepoint webservices

First add the web reference to the userprofileservice.asmx http://serverURL/_vti_bin/userprofileservice.asmx using  System; using  System.Collections.Generic; using  System.Linq; using  System.Text; using  Microsoft.SharePoint; using  Microsoft.SharePoint.Administration; using  System.Net; using  ConsoleApplicationSharepointTesting . WebServiceMyReference;  (Name of the Web reference)      namespace  ConsoleApplicationSharepointTesting { class   Program { static   void  Main( string [] args) { PropertyData [] userDetails; UserProfileService  userprof =  new   UserProfileService (); SPSecurity .RunWithElevatedPrivileges( delegate () { userprof.PreAuthenticate =  true ; userprof.Credentials =  new   NetworkCredential ( "UserName" ,  "Password" ,  "Doamin" ); userDetails = userprof.GetUserProfileByName( "Domain\UserName" ); if  (userDetail...

Getting the User profile

Note : Got the code while search for User profile in Net. I have changed only the Red Line because the code I got, was getting the context as null. private   UserProfile  GetUserInfo( string  AccountName) { UserProfile  profile =  null ; SPServiceContext  serviceContext = SPServiceContext.GetContext(SPContext.Current.Site); UserProfileManager  profileManager =  new   UserProfileManager (serviceContext); if  (AccountName !=  string .Empty) { profile = profileManager.GetUserProfile(AccountName); } else { profile = profileManager.GetUserProfile( SPContext .Current.Web.CurrentUser.RawSid); } return  profile; } Sharepoint Smoking.......... Dharani

Redirecting infopath form after Submit

 To redirect the Infopath form after submit button Just change the source value in the URL. Create a infoapth Form and publish to a library. In the Advance settings of the form library select the Option OPEN IN BROWSER Click on the add item in the form library and  Copy the URL of the INfopath form from the browser, for example http://win-872tgscbp72:2890/_layouts/FormServer.aspx?XsnLocation=http://win-872tgscbp72:2890/TestChking/Forms/template.xsn&SaveLocation=http%3A%2F%2Fwin%2D872tgscbp72% 3A2890%2FTestChking&Source= http%3A%2F%2Fwin%2D872tgscbp72%3A2890%2FTestChking%2FForms%2FAllItems%2 Easpx &DefaultItemOpen=1 Change the source attribute value of url to the page where you want to navigate. Remember to replace .,/,: with respective values  %2E  ,   2F%  , %3A  in the source attribute value. check the below link http://Server/_layouts/FormServer.aspx?XsnLocation=http://win-872tgscbp72:2890/TestChking/Forms/template.xsn...