TimerJobs Activation & Deactivation: Site Level

TimerJobs Activation & Deactivation: Site Level 

 public override void FeatureActivated(SPFeatureReceiverProperties properties)
        {
            try
            {
                SPSecurity.RunWithElevatedPrivileges(delegate()
                {
                    SPSite CreateSite = properties.Feature.Parent as SPSite;        //Getting the current Site.
                   // SPWebApplication parentweb = (SPWebApplication)properties.Feature.Parent;
                    foreach (SPJobDefinition job in CreateSite.WebApplication.JobDefinitions)
                    {
                        if (job.Name == JobName)
                        {
                            job.Delete();
                        }
                    }
                    NhrTimerIndia Nhr = new NhrTimerIndia(JobName, CreateSite.WebApplication, CreateSite.Url);
                    Nhr.Properties.Remove("SiteURL");
                    Nhr.Properties.Add("SiteURL", CreateSite.Url);
                    SPHourlySchedule schedule = new SPHourlySchedule();
                    schedule.BeginMinute = 20;
                    schedule.EndMinute = 35;
                    Nhr.Schedule = schedule;
                    Nhr.Update();
                });
            }
            catch (Exception ex)
            {

            }
        }


        // Uncomment the method below to handle the event raised before a feature is deactivated.

        public override void FeatureDeactivating(SPFeatureReceiverProperties properties)
        {
            try
            {
                SPSecurity.RunWithElevatedPrivileges(delegate()
                {
                    SPSite DeleteSite = properties.Feature.Parent as SPSite;
                    foreach (SPJobDefinition job in DeleteSite.WebApplication.JobDefinitions)
                    {
                        if (job.Name == JobName)
                        {
                            job.Delete();
                        }
                    }
                });
            }
            catch (Exception ex)
            {
                throw ex;
            }


        }

Comments