Beispiel #1
0
 private void WriteExtendedSubscription(SubscriptionData subscriptionData, string subscriptionsDataFile)
 {
     SubscriptionData currentSubscription = this.GetCurrentSubscription();
     this.SetCurrentSubscription(subscriptionData.SubscriptionName, subscriptionsDataFile);
     InitChannelCurrentSubscription();
     using (new OperationContextScope((IContextChannel)Channel))
     {
         try
         {
             var subprops = RetryCall(s => Channel.GetSubscription(subscriptionData.SubscriptionId));
             Operation operation = WaitForOperation(CommandRuntime.ToString());
             var subscriptionDataExtended = new SubscriptionDataExtended(subprops,
                                                                         subscriptionData,
                                                                         CommandRuntime.ToString(),
                                                                         operation);
             WriteSubscription(subscriptionDataExtended);
         }
         catch (CommunicationException ex)
         {
             WriteErrorDetails(ex);
         }
         finally
         {
             if (currentSubscription != null && currentSubscription.Certificate != null && currentSubscription.SubscriptionId != null)
             {
                 this.SetCurrentSubscription(currentSubscription.SubscriptionName, subscriptionsDataFile);
             }
         }
     }
 }
Beispiel #2
0
        /// <summary>
        /// Sets the default subscription properties based on the cmdlet parameters.
        /// </summary>
        /// <param name="subscription">The subscription where to set the properties.</param>
        /// <param name="subscriptionId">The subscription's identifier.</param>
        /// <param name="certificate">The subscription's certificate.</param>
        /// <param name="serviceEndpoint">The subscription's service endpoint</param>
        /// <param name="currentStorageAccount">The current storage account.</param>
        private void SetCommonSettingsProcess(SubscriptionData subscription, string subscriptionId, X509Certificate2 certificate, string serviceEndpoint, string currentStorageAccount)
        {
            if (subscriptionId != null)
            {
                subscription.SubscriptionId = subscriptionId;
            }

            if (certificate != null)
            {
                subscription.Certificate = certificate;
            }

            if (serviceEndpoint != null)
            {
                subscription.ServiceEndpoint = serviceEndpoint;
            }

            if (currentStorageAccount != null)
            {
                subscription.NullCurrentStorageAccount(); // next time it is retrieved get the right account info.
                subscription.CurrentStorageAccount = currentStorageAccount;
            }
        }
        protected void testSubscribe()
        {
            ProductRatePlanCharge charge = queryChargeByAccountingCode(ACCOUNTING_CODE);

            Account acc = makeAccount();
            Contact con = makeContact();
            PaymentMethod pm = makePaymentMethod();
            Subscription subscription = makeSubscription("New Signup" + DateTime.Now.Ticks, null);

            SubscriptionData sd = new SubscriptionData();
            sd.Subscription = subscription;

            RatePlanData[] subscriptionRatePlanDataArray = makeRatePlanData(new ProductRatePlanCharge[]{charge});
            sd.RatePlanData = subscriptionRatePlanDataArray;

            SubscribeRequest sub = new SubscribeRequest();
            sub.Account = acc;
            sub.BillToContact = con;
            sub.PaymentMethod = pm;
            sub.SubscriptionData = sd;

            SubscribeRequest[] subscribes = new SubscribeRequest[1];
            subscribes[0] = sub;

            SubscribeResult[] result = binding.subscribe(subscribes);
            String message = createMessage(result[0]);
            print(message);
        }
        public SubscribeResponseHolder SubscribeWithExisitingAccount(String accountId, List<ProductRatePlanHolder> productRatePlans, Subscription sub, PreviewOptions po, SubscribeOptions so)
        {
            SubscribeRequest subscribeRequest = new SubscribeRequest();
            subscribeRequest.SubscribeOptions = so;
            subscribeRequest.PreviewOptions = po;

            Account acc = new Account();
            acc.Id = accountId;
            subscribeRequest.Account = acc;

            SubscriptionData subData = new SubscriptionData();
            sub.AccountId = accountId;
            subData.Subscription = sub;

            List<RatePlanData> rpdList = new List<RatePlanData>();

            foreach (ProductRatePlanHolder prph in productRatePlans)
            {

                RatePlanData ratePlanData = new RatePlanData();
                RatePlan ratePlan = new RatePlan();
                ratePlan.ProductRatePlanId = prph.ProductRatePlan.Id;
                ratePlanData.RatePlan = ratePlan;
                List<RatePlanChargeData> rpcData = new List<RatePlanChargeData>();
                foreach(ProductRatePlanChargeHolder prpch in prph.ProductRatePlanCharges)
                {
                    ProductRatePlanCharge prpc = prpch.ProductRatePlanCharge;
                    //set quantity and add chargeData if applicable
                    if ((prpc.ChargeModel.Equals("Per Unit Pricing") || prpc.ChargeModel.Equals("Tiered Pricing") || prpc.ChargeModel.Equals("Volume Pricing")))
                    {
                        RatePlanChargeData ratePlanChargeData = new RatePlanChargeData();
                        RatePlanCharge ratePlanCharge = new RatePlanCharge();
                        ratePlanCharge.ProductRatePlanChargeId = prpc.Id;
                        ratePlanCharge.QuantitySpecified = true;
                        ratePlanCharge.Quantity = prpc.DefaultQuantity;
                        ratePlanChargeData.RatePlanCharge = ratePlanCharge;
                        rpcData.Add(ratePlanChargeData);
                    }
                }
                if (rpcData.Count != 0)
                {
                    ratePlanData.RatePlanChargeData = rpcData.ToArray();
                }
                rpdList.Add(ratePlanData);

            }

            subData.RatePlanData = rpdList.ToArray();
            subscribeRequest.SubscriptionData = subData;
            return zs.Subscribe(new List<SubscribeRequest>{subscribeRequest})[0];
        }
        /*public ResponseHolder GetCurrentSubscription(String subscriptionId)
        {
            String subscriptionQuery = "SELECT Id,Name,Status,Version,PreviousSubscriptionId,ContractEffectiveDate,TermStartDate FROM Subscription WHERE AccountId='" + subscriptionId + "' AND Status='Active'AND Status='Active'";
            Subscription activeSubscription = (Subscription)zs.Query(subscriptionQuery).Objects[0];

            String RatePlanString = "SELECT Id,Name,ProductRatePlanId FROM RatePlan WHERE SubscriptionId='" + activeSubscription.Id + "'";
            ResponseHolder ratePlans = zs.Query(RatePlanString);

            foreach (zObject ratePlan in ratePlans.Objects)
            {

            }
        }*/
        public SubscribeResponseHolder Subscribe(Account acc, Contact con, PaymentMethod pay, List<ProductRatePlanHolder> productRatePlans, Subscription sub, PreviewOptions po, SubscribeOptions so)
        {
            SubscribeRequest subscribeRequest = new SubscribeRequest();
            subscribeRequest.SubscribeOptions = so;
            subscribeRequest.PreviewOptions = po;

            subscribeRequest.Account = acc;
            subscribeRequest.BillToContact = con;
            //Payment Method isn't required to subscribe
            if (pay != null)
            {
                subscribeRequest.PaymentMethod = pay;
            }

            SubscriptionData subData = new SubscriptionData();
            sub.AccountId = acc.Id;
            subData.Subscription = sub;
            List<RatePlanData> rpdList = new List<RatePlanData>();

            foreach (ProductRatePlanHolder prph in productRatePlans)
            {

                RatePlanData ratePlanData = new RatePlanData();
                RatePlan ratePlan = new RatePlan();
                ratePlan.ProductRatePlanId = prph.ProductRatePlan.Id;
                ratePlanData.RatePlan = ratePlan;
                List<RatePlanChargeData> rpcData = new List<RatePlanChargeData>();
                if (prph.ProductRatePlanCharges != null)
                {
                    foreach (ProductRatePlanChargeHolder prpch in prph.ProductRatePlanCharges)
                    {
                        ProductRatePlanCharge prpc = prpch.ProductRatePlanCharge;
                        //set quantity and add chargeData if applicable
                        if ((prpc.ChargeModel.Equals("Per Unit Pricing") || prpc.ChargeModel.Equals("Tiered Pricing") || prpc.ChargeModel.Equals("Volume Pricing")))
                        {
                            RatePlanChargeData ratePlanChargeData = new RatePlanChargeData();
                            RatePlanCharge ratePlanCharge = new RatePlanCharge();
                            ratePlanCharge.ProductRatePlanChargeId = prpc.Id;
                            ratePlanCharge.QuantitySpecified = true;
                            ratePlanCharge.Quantity = prpc.DefaultQuantity;
                            ratePlanChargeData.RatePlanCharge = ratePlanCharge;
                            rpcData.Add(ratePlanChargeData);
                        }
                    }
                }
                if (rpcData.Count != 0)
                {
                    ratePlanData.RatePlanChargeData = rpcData.ToArray();
                }
                rpdList.Add(ratePlanData);

            }

            subData.RatePlanData = rpdList.ToArray();
            subscribeRequest.SubscriptionData = subData;
            return zs.Subscribe(new List<SubscribeRequest> { subscribeRequest })[0];
        }
		/// <summary>Adds a channel to the audio streaming list.</summary>
		/// <param name="channel">The id of the channel.</param>
		/// <param name="manual">Should be true if the command was invoked by a user,
		/// or false if the channel is added automatically by a play command.</param>
		public void WhisperChannelSubscribe(int channel, bool manual)
		{
			SendMessage("whisper channel add " + channel);
			SubscriptionData subscriptionData;
			if (!channelSubscriptions.TryGetValue(channel, out subscriptionData))
			{
				subscriptionData = new SubscriptionData { Id = channel, Manual = manual };
				channelSubscriptions.Add(channel, subscriptionData);
			}
			subscriptionData.Enabled = true;
			subscriptionData.Manual = subscriptionData.Manual || manual;
		}
 public StorageCredentialsFactory(IServiceManagement channel, SubscriptionData currentSubscription)
 {
     this.channel = channel;
     this.currentSubscription = currentSubscription;
 }
Beispiel #8
0
    private void Display_ViewSubscription()
    {
        TR_ViewSubscription.Visible = true;
        if (!(Request.QueryString["id"] == null))
        {
            m_intSubscriptionId = Convert.ToInt64(Request.QueryString["id"]);
        }

        subscription_data = m_refContApi.GetSubscriptionById(m_intSubscriptionId);
        if (subscription_data != null)
        {
            ltrViewName.Text = EkFunctions.HtmlEncode(subscription_data.Name);
            ltrViewID.Text = subscription_data.Id.ToString();
            chkEnable.Enabled = false;
            chkEnable.Checked = subscription_data.Enable;
        }

        ViewSubscriptionToolBar();
    }
 public static void SetCurrentSubscription(this PSCmdlet cmdlet, SubscriptionData subscription)
 {
     SessionManager.SetVariable(cmdlet, ManagementConstants.CurrentSubscriptionEnvironmentVariable, subscription);
 }
        internal SubscribeResult subscribe(
            String SubscriptionName,
            ProductRatePlanCharge[] charges,
            string Name, 
            string FirstName, 
            string LastName, 
            string WorkEmail, 
            string WorkPhone, 
            string Address1, 
            string Address2, 
            string City, 
            string State, 
            string Country, 
            string PostalCode, 
            string CreditCardType, 
            string CreditCardNumber, 
            string CreditCardHolderName, 
            int CreditCardExpirationMonth,
            int CreditCardExpirationYear)
        {
            Account acc = makeAccount(Name, "USD");
            Contact con = makeContact(FirstName, LastName, WorkEmail, WorkPhone, Address1, Address2, City, State, Country, PostalCode);

            PaymentMethod pm = makePaymentMethod(CreditCardHolderName, Address1, City, State, Country, PostalCode, CreditCardType, CreditCardNumber, CreditCardExpirationMonth, CreditCardExpirationYear);
            Subscription subscription = makeSubscription(SubscriptionName, null);

            SubscriptionData sd = new SubscriptionData();
            sd.Subscription = subscription;

            RatePlanData[] subscriptionRatePlanDataArray = makeRatePlanData(charges);
            sd.RatePlanData = subscriptionRatePlanDataArray;

            SubscribeOptions options = new SubscribeOptions();
            options.GenerateInvoice = GENERATE_INVOICE;
            options.ProcessPayments = PROCESS_PAYMENTS;

            SubscribeRequest sub = new SubscribeRequest();
            sub.Account = acc;
            sub.BillToContact = con;
            sub.PaymentMethod = pm;
            sub.SubscriptionData = sd;
            sub.SubscribeOptions = options;

            SubscribeRequest[] subscribes = new SubscribeRequest[1];
            subscribes[0] = sub;

            SubscribeResult[] result = binding.subscribe(subscribes);

            return result[0];
        }
 private ISubscriptionClient GetSubscriptionClient(SubscriptionData subscription)
 {
     return SubscriptionClient ?? (SubscriptionClient = new SubscriptionClient(subscription));
 }
 protected override void WriteSubscription(SubscriptionData subscription)
 {
     Messages.Add(subscription);
 }
        public void ImportSubscriptionsFile(string subscriptionsDataFile, X509Certificate2 publishSettingsCertificate)
        {
            var subscriptions = General.DeserializeXmlFile<Subscriptions>(subscriptionsDataFile, string.Format(Resources.InvalidSubscriptionsDataSchema, subscriptionsDataFile));
            if (subscriptions != null && subscriptions.Subscription != null)
            {
                Subscriptions = subscriptions.Subscription
                    .Select(subscription =>
                    {
                        X509Certificate2 certificate = null;
                        if (subscription.Thumbprint != null)
                        {
                            if (publishSettingsCertificate != null && subscription.Thumbprint == publishSettingsCertificate.Thumbprint)
                            {
                                certificate = publishSettingsCertificate;
                            }
                            else
                            {
                                certificate = General.GetCertificateFromStore(subscription.Thumbprint);
                            }
                        }

                        var subscriptionData = new SubscriptionData
                        {
                            SubscriptionName = subscription.name,
                            SubscriptionId = subscription.SubscriptionId,
                            Certificate = certificate,
                            ServiceEndpoint = subscription.ServiceEndpoint,
                            SqlAzureServiceEndpoint = subscription.SQLAzureServiceEndpoint,
                            CurrentStorageAccount = subscription.CurrentStorageAccount
                        };

                        return subscriptionData;
                    })
                    .ToDictionary(subscriptionData => subscriptionData.SubscriptionName, StringComparer.OrdinalIgnoreCase);
            }
        }
        private void testSubscribe()
        {
            ProductRatePlanCharge charge = getChargeByAccountingCode(ACCOUNTING_CODE);

            Account acc = makeAccount();
            Contact con = makeContact();
            PaymentMethod pm = makePaymentMethod();
            Subscription subscription = makeSubscription();

            var sd = new SubscriptionData();
            sd.Subscription = subscription;

            RatePlanData[] subscriptionRatePlanDataArray = makeRatePlanData(charge);
            sd.RatePlanData = subscriptionRatePlanDataArray;

            var sub = new SubscribeRequest();
            sub.Account = acc;
            sub.BillToContact = con;
            sub.PaymentMethod = pm;
            sub.SubscriptionData = sd;

            var subscribes = new SubscribeRequest[1];
            subscribes[0] = sub;

            SubscribeResult[] result = client.subscribe(sessionHeader, subscribes);
            print(createMessage(result));
        }
Beispiel #15
0
		/// <summary>Removes a channel from the audio streaming list.</summary>
		/// <param name="channel">The id of the channel.</param>
		/// <param name="manual">Should be true if the command was invoked by a user,
		/// or false if the channel was removed automatically by an internal stop.</param>
		public void WhisperChannelUnsubscribe(int channel, bool manual)
		{
			SendMessage("whisper channel remove " + channel);
			SubscriptionData subscriptionData;
			if (!channelSubscriptions.TryGetValue(channel, out subscriptionData))
			{
				subscriptionData = new SubscriptionData { Id = channel, Manual = false };
				channelSubscriptions.Add(channel, subscriptionData);
			}
			if (manual)
			{
				subscriptionData.Manual = true;
				subscriptionData.Enabled = false;
			}
			else if (!subscriptionData.Manual)
			{
				subscriptionData.Enabled = false;
			}
		}
 protected virtual void WriteSubscription(SubscriptionData subscriptionData)
 {
     WriteObject(subscriptionData, true);
 }
        public void GettersAndSetters()
        {
            SubscriptionData expected = new SubscriptionData()
            {
                Id = "subs Id",
                Created = new DateTime( 2011, 12, 25),
                Name = "my name",
                Description = "meaningful description",
                SubscriberId = "1",
                SubscriberName = "subscriber name",
                ScheduleId = "2",
                DaysOfWeek = WlbScheduledTask.WlbTaskDaysOfWeek.Monday,
                ExecuteTimeOfDay = new DateTime(2011, 12, 26),
                TriggerType = 3,
                Enabled = true,
                EnableDate = new DateTime(2011, 12, 27),
                LastTouched = new DateTime(2011, 12, 28),
                LastTouchedBy = "wasn't me!!",
                LastRun = new DateTime(2011, 12, 29),
                LastRunResult = "broken",
                EmailTo = "you",
                EmailReplyTo = "definitely you",
                ReportRenderFormat = 4,
                EmailSubject = "stuff is broken",
                EmailComment = "badly",
                EmailCc = "me",
                EmailBcc = "someone else",
                ReportId = 5,
                ReportName = "Report name",
                ReportParameters = new Dictionary<string, string>(){{"key", "value"}},
                ReportDisplayName = "Display name"
            };

            validator.Verify(expected);

        }
 private static HttpMessageHandler CreateDefaultFinalHandler(SubscriptionData subscription)
 {
     var handler = new WebRequestHandler();
     handler.ClientCertificates.Add(subscription.Certificate);
     return handler;
 }
        public SubscribeRequest CreatSubscriptionRequest(DateTime date)
        {
            String rateplanid = CreateRatePlanToSubscribe();

            SubscribeRequest subrequest = new SubscribeRequest();

            subrequest.Account = MakeTestAccount();
            subrequest.BillToContact = MakeTestContact();
            subrequest.PaymentMethod = MakeTestPaymentMethod();
            SubscriptionData sd = new SubscriptionData();

            sd.Subscription = MakeTestSubscription(date);
            RatePlanData rpd = new RatePlanData();
            RatePlan rp = new RatePlan();
            rp.ProductRatePlanId = rateplanid;
            rpd.RatePlan = rp;
            sd.RatePlanData = new RatePlanData[] { rpd };
            subrequest.SubscriptionData = sd;

            return subrequest;
        }
 /// <summary>
 /// Create an instance of <see cref="SubscriptionClient"/> that
 /// works against the given <paramref name="subscription"/>.
 /// </summary>
 /// <param name="subscription">The subscription to manipulate</param>
 public SubscriptionClient(SubscriptionData subscription)
     : this(subscription, CreateDefaultFinalHandler(subscription))
 {
 }
Beispiel #21
0
    private void Display_EditSubscription()
    {
        TR_ViewSubscription.Visible = false;
        TR_AddEditSubscription.Visible = true;
        chkEnableAddEdit.Enabled = true;
        if (!(Request.QueryString["id"] == null))
        {
            m_intSubscriptionId = Convert.ToInt64(Request.QueryString["id"]);
        }

        subscription_data = m_refContApi.GetSubscriptionById(m_intSubscriptionId);
        txtName.Text = Server.HtmlDecode(subscription_data.Name);
        chkEnableAddEdit.Checked = subscription_data.Enable;
        ltrAddEditID.Text = subscription_data.Id.ToString() + "<input type=\"hidden\" name=\"subscriptionID\" value=\"" + subscription_data.Id.ToString() + "\"/>";
        EditSubscriptionToolBar();
    }
 /// <summary>
 /// <para>
 /// Creates an instance of <see cref="SubscriptionClient"/> that
 /// works against the given <paramref name="subscription"/> and uses
 /// the <paramref name="finalHandler"/> to send the Http requests.
 /// </para>
 /// <para>This constructor is primarily used for testing to mock out
 /// the actual HTTP traffic.</para>
 /// </summary>
 /// <param name="subscription">Subscription to manipulate</param>
 /// <param name="finalHandler">HttpMessageHandler used to send the messages to the server.</param>
 public SubscriptionClient(SubscriptionData subscription, HttpMessageHandler finalHandler)
 {
     httpClient = CreateHttpClient(finalHandler);
     this.subscription = subscription;
     httpClient.BaseAddress = new Uri(subscription.ServiceEndpoint);
 }
 public void Setup()
 {
     subscriptionData = new SubscriptionData
     {
         SubscriptionId = "test-id",
         ServiceEndpoint = "https://fake.endpoint.example"
     };
 }
        public void TestSaveSubscriptions()
        {
            for (var i = 0; i < Data.ValidPublishSettings.Count; i++)
            {
                var globalComponents = GlobalComponents.CreateFromPublishSettings(GlobalPathInfo.GlobalSettingsDirectory, null, Data.ValidPublishSettings[i]);

                var subscriptionsManager = SubscriptionsManager.Import(
                    Data.ValidSubscriptionsData[i],
                    globalComponents.PublishSettings,
                    globalComponents.Certificate);

                var newSubscription = new SubscriptionData
                {
                    SubscriptionName = "newsubscription",
                    IsDefault = false,
                    SubscriptionId = "id"
                };

                subscriptionsManager.Subscriptions[newSubscription.SubscriptionName] = newSubscription;
                subscriptionsManager.SaveSubscriptions(Path.Combine(GlobalPathInfo.GlobalSettingsDirectory, "test.xml"));

                var newSubscriptionsManager = SubscriptionsManager.Import(
                    Path.Combine(GlobalPathInfo.GlobalSettingsDirectory, "test.xml"),
                    globalComponents.PublishSettings,
                    globalComponents.Certificate);

                var addedSubscription = newSubscriptionsManager.Subscriptions.Values.Single(
                    subscription => subscription.SubscriptionName == newSubscription.SubscriptionName);

                Assert.AreEqual(newSubscription.SubscriptionId, addedSubscription.SubscriptionId);

                globalComponents.DeleteGlobalComponents();
            }
        }