Ejemplo n.º 1
0
        /// <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;
        }
Ejemplo n.º 2
0
 /// <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);
 }
Ejemplo n.º 3
0
 /// <remarks/>
 public void SetSchedulePropertiesAsync(string Name, string ScheduleID, ScheduleDefinition ScheduleDefinition) {
     this.SetSchedulePropertiesAsync(Name, ScheduleID, ScheduleDefinition, null);
 }
Ejemplo n.º 4
0
 public void SetScheduleProperties(string Name, string ScheduleID, ScheduleDefinition ScheduleDefinition) {
     this.Invoke("SetScheduleProperties", new object[] {
                 Name,
                 ScheduleID,
                 ScheduleDefinition});
 }
Ejemplo n.º 5
0
 /// <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);
 }
Ejemplo n.º 6
0
 /// <remarks/>
 public void CreateScheduleAsync(string Name, ScheduleDefinition ScheduleDefinition, string SiteUrl) {
     this.CreateScheduleAsync(Name, ScheduleDefinition, SiteUrl, null);
 }
Ejemplo n.º 7
0
 public string CreateSchedule(string Name, ScheduleDefinition ScheduleDefinition, string SiteUrl) {
     object[] results = this.Invoke("CreateSchedule", new object[] {
                 Name,
                 ScheduleDefinition,
                 SiteUrl});
     return ((string)(results[0]));
 }
Ejemplo n.º 8
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;
        }