| usingSystem; |
| usingSystem.Runtime.InteropServices; |
| usingSystem.Collections.Generic; |
| usingSystem.Text; |
| usingSystem.Text.RegularExpressions; |
|
| usingMicrosoft.SharePoint; |
| usingMicrosoft.SharePoint.WebControls; |
| usingMicrosoft.SharePoint.Utilities; |
|
| usingSystem.Web; |
| usingSystem.Web.UI; |
| usingSystem.Web.UI.WebControls; |
| usingSystem.Web.UI.HtmlControls; |
|
| usingSystem.IO; |
|
| namespaceCalendarFeatureHandler |
| { |
| publicclassCalendarAction:SPFeatureReceiver |
| { |
| publicoverridevoidFeatureActivated(SPFeatureReceiverPropertiesproperties) |
| { |
| //thrownewNotImplementedException(); |
|
| SPWebsite=properties.Feature.ParentasSPWeb; |
|
| //Gettinglistreferences"Bankholidays"and"Teammembers" |
| SPListbankList=site.Lists["Bankholidays"]; |
| SPListteamList=site.Lists["Teammembers"]; |
|
| //flagtocheckthebankholidayfallsovertheweekend |
| boolweekend; |
|
| SPListItemCollectionitems=null; |
|
| //ForBankholidaysandTeamlistlists |
| SPQueryqueryBank=newSPQuery(); |
| SPQueryqueryTeam=newSPQuery(); |
|
| //Queriesfor"Bankholiday"and"Teamlist" |
| queryBank.Query="<OrderBy><FieldRefName='ID'/><FieldRefName='Holiday_x0020_description'/><FieldRefName='Day'/></OrderBy>"; |
| queryTeam.Query="<OrderBy><FieldRefName='ID'/></OrderBy>"; |
|
| items=bankList.GetItems(queryBank); |
|
| foreach(SPListItemiteminitems) |
| { |
| weekend=isWeekend(Convert.ToDateTime(item["Day"])); |
| item["Day"].ToString(); |
|
| if(weekend) |
| { |
|
| SPListItemCollectionlc=teamList.GetItems(queryTeam); |
| foreach(SPListItemitem2inlc) |
| { |
| item2["TotalNumberOfLeaves"]=Convert.ToInt16(item2["TotalNumberOfLeaves"])+1; |
|
| teamList.Update(); |
|
| } |
|
| } |
|
| } |
| teamList.Update();//NOTUPDATINGTHELIST |
| bankList.Update(); |
|
|
| } |
|
| ///<summary> |
| ///Computingnoofweekendforacurrentcalendaryear |
| ///</summary> |
| ///<paramname="weekend"></param> |
| ///<returns></returns> |
|
| publicstaticboolisWeekend(DateTimeweekend) |
| { |
|
| if(weekend.DayOfWeek.ToString().Trim().Equals("Saturday")||weekend.DayOfWeek.ToString().Trim().Equals("Sunday")) |
| returntrue; |
| else |
| returnfalse; |
|
| } |
|
| publicoverridevoidFeatureDeactivating(SPFeatureReceiverPropertiesproperties) |
| { |
|
| SPWebsite=properties.Feature.ParentasSPWeb; |
| SPListbankList=site.Lists["Bankholidays"]; |
|
| stringReceiverAssembly="CalendarFeatureHandler,Version=1.0.0.0,Culture=neutral,PublicKeyToken=932f09495b91102d"; |
|
| //LooptroughtheEventReceivers |
| for(inti=0;i<bankList.EventReceivers.Count;i++) |
| { |
| if(bankList.EventReceivers[i].Assembly.Equals(ReceiverAssembly)) |
| { |
| //DeleteEventReceiver |
| bankList.EventReceivers[i].Delete(); |
| } |
| } |
|
| } |
|
| publicoverridevoidFeatureInstalled(SPFeatureReceiverPropertiesproperties) |
| { |
| thrownewNotImplementedException(); |
| } |
|
| publicoverridevoidFeatureUninstalling(SPFeatureReceiverPropertiesproperties) |
| { |
| thrownewNotImplementedException(); |
| } |
|
| } |
| } |