Esempio n. 1
0
        public string CreateSubscription(SubscritionValues subscrition)
        {
            ReportingService2010 rs = new ReportingService2010();
            rs.Credentials = System.Net.CredentialCache.DefaultCredentials;
            string report = subscrition.Report;
            string desc = System.Net.CredentialCache.DefaultCredentials +
                            " subscribed " + subscrition.Report + " to EMAIL";
            string eventType = "TimedSubscription";
            string scheduleXml = getScheduleXML(subscrition);

            ParameterValue[] extensionParams = new ParameterValue[7];

            extensionParams[0] = new ParameterValue();
            extensionParams[0].Name = "RenderFormat";
            extensionParams[0].Value = "PDF";

            extensionParams[1] = new ParameterValue();
            extensionParams[1].Name = "TO";
            extensionParams[1].Value = subscrition.TO;

            extensionParams[2] = new ParameterValue();
            extensionParams[2].Name = "IncludeReport";
            extensionParams[2].Value = "true";

            extensionParams[3] = new ParameterValue();
            extensionParams[3].Name = "Subject";
            extensionParams[3].Value = subscrition.Subject;

            extensionParams[4] = new ParameterValue();
            extensionParams[4].Name = "IncludeLink";
            extensionParams[4].Value = "true";

            extensionParams[5] = new ParameterValue();
            extensionParams[5].Name = "CC";
            extensionParams[5].Value = subscrition.CC;

            extensionParams[6] = new ParameterValue();
            extensionParams[6].Name = "BCC";
            extensionParams[6].Value = subscrition.BCC;

            string matchData = scheduleXml;
            ExtensionSettings extSettings = new ExtensionSettings();
            extSettings.ParameterValues = extensionParams;
            extSettings.Extension = "Report Server Email";

            ParameterValue[] parameters = new ParameterValue[subscrition.Parameters.Length];
            for (int i = 0; i < subscrition.Parameters.Length;i++ )
            {
                ParameterValue parameter = new ParameterValue();
                parameter.Name = subscrition.Parameters[i].ParameterName;
                parameter.Value = subscrition.Parameters[i].ParameterValue;
                parameters[i] = parameter;

            }
            try
            {
               string subscriptionID =rs.CreateSubscription(report, extSettings, desc,
                    eventType, matchData, parameters);
               Dips_progression_subscription ps = new Dips_progression_subscription();
               ps.indicator = subscrition.ConditionIndicator;
               ps.location = subscrition.ConditionLocation;
               ps.operand = subscrition.ConditionOperand;
               if (subscrition.ConditionValue!=null && subscrition.ConditionValue != "")
                ps.value = Double.Parse(subscrition.ConditionValue);
               ps.subscription_id = subscriptionID;
               ps.last_updated_date = DateTime.Now;
               ps.status = "Added";
               if (ps.indicator != null)
               {
                   db.Dips_progression_subscription.Add(ps);
                   db.SaveChanges();
               }
               return subscriptionID;
            }

            catch (SoapException e)
            {
                Console.WriteLine(e.Message);
                return "Subscribe failed "+e.Message;
            }
        }
Esempio n. 2
0
        private string getScheduleXML(SubscritionValues subscrition)
        {
            string scheduleXML="";
            if (subscrition.Schedule.Equals("Daily"))
               scheduleXML= @"<ScheduleDefinition>" +
             "   <StartDateTime>2003-02-24T"+subscrition.ScheduleDailyHour+":00-05:00" +
             "   </StartDateTime>" +
             "   <WeeklyRecurrence>" +
             "      <WeeksInterval>1</WeeksInterval>" +
             "      <DaysOfWeek>" +
             "         <Monday>True</Monday>" +
             "         <Tuesday>True</Tuesday>" +
             "         <Wednesday>True</Wednesday>" +
             "         <Thursday>True</Thursday>" +
             "         <Friday>True</Friday>" +
             "         <Saturday>True</Saturday>" +
             "         <Sunday>True</Sunday>" +
             "      </DaysOfWeek>" +
             "   </WeeklyRecurrence>"+
             "</ScheduleDefinition>";
            else if (subscrition.Schedule.Equals("Weekly"))
            scheduleXML = @"<ScheduleDefinition>" +
              "   <StartDateTime>2003-02-24T08:00:00-05:00" +
              "   </StartDateTime>" +
              "   <WeeklyRecurrence>" +
              "      <WeeksInterval>1</WeeksInterval>" +
              "      <DaysOfWeek>" +
              "         <Monday>True</Monday>" +
              "      </DaysOfWeek>" +
              "   </WeeklyRecurrence>" +
              "</ScheduleDefinition>";
            else if (subscrition.Schedule.Equals("Monthly"))
            scheduleXML = @"<ScheduleDefinition>" +
              "   <StartDateTime>2003-02-24" +
              "   </StartDateTime>" +
              "     <MonthlyRecurrence>"+
              "         <Days>1</Days>"+
              "            <MonthsOfYear><January>true</January><February>true</February><March>true</March>"+
              "              <April>true</April><May>true</May><June>true</June><July>true</July><August>true</August>"+
              "                 <September>true</September><October>true</October><November>true</November><December>true</December>"+
              "            </MonthsOfYear>"+
              "     </MonthlyRecurrence>" +
              "</ScheduleDefinition>";

            return scheduleXML;
        }