/// <summary> /// Returns corresponding reporty subscription schedule data /// </summary> /// <param name="reportSchedule"></param> /// <returns>Schedule xml</returns> public string GetMatchData(ReportSchedule reportSchedule) { ScheduleDefinition schedule = new ScheduleDefinition(); //Make start date time as the begining of the current day schedule.StartDateTime = DateTime.Today.Add(reportSchedule.ScheduleTime); //if (reportSchedule.Expiration_Date_for_the_Schedule != null) //{ // if (schedule.StartDateTime < schedule.EndDate) // { // schedule.EndDateSpecified = true; // schedule.EndDate = schedule.EndDate; // } // else // { // schedule.EndDate = schedule.StartDateTime.AddMinutes(20); // schedule.EndDateSpecified = true; // } //} //else //{ // schedule.EndDateSpecified = false; //} schedule.EndDateSpecified = false; schedule.Item = GetPattern(reportSchedule.SchedulePeriod, reportSchedule.ScheduleDay); XmlDocument xmlDoc = GetScheduleAsXml(schedule); return xmlDoc.OuterXml; }
/// <remarks/> public void SetSchedulePropertiesAsync(string Name, string ScheduleID, ScheduleDefinition ScheduleDefinition, object userState) { if ((this.SetSchedulePropertiesOperationCompleted == null)) { this.SetSchedulePropertiesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetSchedulePropertiesOperationCompleted); } this.InvokeAsync("SetScheduleProperties", new object[] { Name, ScheduleID, ScheduleDefinition}, this.SetSchedulePropertiesOperationCompleted, userState); }
/// <remarks/> public void SetSchedulePropertiesAsync(string Name, string ScheduleID, ScheduleDefinition ScheduleDefinition) { this.SetSchedulePropertiesAsync(Name, ScheduleID, ScheduleDefinition, null); }
public void SetScheduleProperties(string Name, string ScheduleID, ScheduleDefinition ScheduleDefinition) { this.Invoke("SetScheduleProperties", new object[] { Name, ScheduleID, ScheduleDefinition}); }
/// <remarks/> public void CreateScheduleAsync(string Name, ScheduleDefinition ScheduleDefinition, string SiteUrl, object userState) { if ((this.CreateScheduleOperationCompleted == null)) { this.CreateScheduleOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateScheduleOperationCompleted); } this.InvokeAsync("CreateSchedule", new object[] { Name, ScheduleDefinition, SiteUrl}, this.CreateScheduleOperationCompleted, userState); }
/// <remarks/> public void CreateScheduleAsync(string Name, ScheduleDefinition ScheduleDefinition, string SiteUrl) { this.CreateScheduleAsync(Name, ScheduleDefinition, SiteUrl, null); }
public string CreateSchedule(string Name, ScheduleDefinition ScheduleDefinition, string SiteUrl) { object[] results = this.Invoke("CreateSchedule", new object[] { Name, ScheduleDefinition, SiteUrl}); return ((string)(results[0])); }
/// <summary> /// Generate XML Document from the schedule definition /// </summary> /// <param name="schedule"></param> /// <returns></returns> private XmlDocument GetScheduleAsXml(ScheduleDefinition schedule) { MemoryStream buffer = new MemoryStream(); XmlSerializer xmlSerializer = new XmlSerializer(typeof(ScheduleDefinition)); xmlSerializer.Serialize(buffer, schedule); buffer.Seek(0, SeekOrigin.Begin); XmlDocument doc = new XmlDocument(); doc.Load(buffer); // patch up WhichWeek XmlNamespaceManager ns = new XmlNamespaceManager(doc.NameTable); ns.AddNamespace("rs", "http://schemas.microsoft.com/sqlserver/2003/12/reporting/reportingservices"); XmlNode node = doc.SelectSingleNode( "/ScheduleDefinition/rs:MonthlyDOWRecurrence/rs:WhichWeek", ns ); if (node != null) { switch (node.InnerXml) { case "FirstWeek": node.InnerXml = "FIRST_WEEK"; break; case "SecondWeek": node.InnerXml = "SECOND_WEEK"; break; case "ThirdWeek": node.InnerXml = "THIRD_WEEK"; break; case "FourthWeek": node.InnerXml = "FOURTH_WEEK"; break; case "LastWeek": node.InnerXml = "LAST_WEEK"; break; } } return doc; }