Wednesday, 16 September 2015
SharePoint 2010 Create Monthly Timer Job Which Execut On Last Day Of Month
MonthlyTJService is helper class in which your logic for timer job is implemented
string MonthlyTJ = "Monthly TJ";
public override void FeatureActivated(SPFeatureReceiverProperties properties)
{
SPSecurity.RunWithElevatedPrivileges(delegate()
{
SPSite site = properties.Feature.Parent as SPSite;
DeleteJob(site);
CreateJob(site);
});
}
private static void DeleteJob(SPSite site)
{
foreach (SPJobDefinition job in site.WebApplication.JobDefinitions)
{
job.Delete();
}
}
private static void CreateJob(SPSite site)
{
if (site == null)
throw new ArgumentNullException("site", "site is null.");
MonthlyTJService monthlyTJ = new MonthlyTJService(MonthlyTJ, site.WebApplication);
SPMonthlySchedule monthlyTJSchedule = new SPMonthlySchedule()
{
BeginDay = DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month),
EndDay = DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month),
BeginHour = 23,
BeginMinute = 15,
EndHour = 23,
EndMinute = 45
};
monthlyTJ.Schedule = monthlyTJSchedule;
monthlyTJ.Properties.Add("siteurl", site.Url);
monthlyTJ.Update();
}
public override void FeatureDeactivating(SPFeatureReceiverProperties properties)
{
DeleteJob(properties.Feature.Parent as SPSite); // Delete the Job
}
SharePoint 2010 CAML Query For Search Within Folder
Search For Non Lookup Field Value
<Query>
<Where>
<Eq>
<FieldRef Name='Title'/>
<Value Type='Text'>Val</Value>
</Eq>
</Where>
<Query>
<QueryOptions>
<ViewAttributes Scope='Recursive' />
</QueryOptions>
Search For Lookup Field Value
<Query>
<Where>
<Eq>
<FieldRef Name='Title' LookupId='True'/>
<Value Type='Lookup'>Val</Value>
</Eq>
</Where>
<Query>
<QueryOptions>
<ViewAttributes Scope='Recursive' />
</QueryOptions>
<Query>
<Where>
<Eq>
<FieldRef Name='Title'/>
<Value Type='Text'>Val</Value>
</Eq>
</Where>
<Query>
<QueryOptions>
<ViewAttributes Scope='Recursive' />
</QueryOptions>
Search For Lookup Field Value
<Query>
<Where>
<Eq>
<FieldRef Name='Title' LookupId='True'/>
<Value Type='Lookup'>Val</Value>
</Eq>
</Where>
<Query>
<QueryOptions>
<ViewAttributes Scope='Recursive' />
</QueryOptions>
Subscribe to:
Posts (Atom)