Esempio n. 1
0
        public virtual RequestBuilder BuildRequest(string root)
        {
            var builder = new RequestBuilder(root);

            builder.AddElement("billing-day-of-month", BillingDayOfMonth);
            builder.AddElement("descriptor", Descriptor);
            builder.AddElement("first-billing-date", FirstBillingDate);
            builder.AddElement("payment-method-token", PaymentMethodToken);
            builder.AddElement("payment-method-nonce", PaymentMethodNonce);
            if (HasTrialPeriod.HasValue)
            {
                builder.AddElement("trial-period", HasTrialPeriod.Value);

                if (HasTrialPeriod.Value)
                {
                    if (TrialDuration != 0)
                    {
                        builder.AddElement("trial-duration", TrialDuration.ToString());
                    }
                    if (TrialDurationUnit != null)
                    {
                        builder.AddElement("trial-duration-unit", TrialDurationUnit.GetDescription());
                    }
                }
            }
            builder.AddElement("merchant-account-id", MerchantAccountId);
            if (NumberOfBillingCycles.HasValue)
            {
                builder.AddElement("number-of-billing-cycles", NumberOfBillingCycles.Value);
            }
            if (NeverExpires.HasValue)
            {
                builder.AddElement("never-expires", NeverExpires.Value);
            }
            builder.AddElement("id", Id);
            builder.AddElement("plan-id", PlanId);
            if (Price.HasValue)
            {
                builder.AddElement("price", Price.Value);
            }

            builder.AddElement("add-ons", AddOns);
            builder.AddElement("discounts", Discounts);
            builder.AddElement("options", Options);

            return(builder);
        }
Esempio n. 2
0
    /// <summary>
    /// Validates each of the basic trial elements, then requires validation from
    /// the TrialObjectsUI and QuestionnaireUI. Highlights offending elements, then
    /// returns a descriptive error through ErrorString.
    /// </summary>
    /// <param name="ErrorString">Contains validation error messages.</param>
    /// <returns>True if validation succeeds, false otherwise.</returns>
    public override bool Validate(out string ErrorString)
    {
        //Test each UI element, failing out on first failure.
        bool isValid = NumberOfTrials.Validate(out ErrorString);

        if (isValid)
        {
            isValid = NumberUnusualTrials.Validate(out ErrorString);
        }
        if (isValid)
        {
            isValid = TrialDuration.Validate(out ErrorString);
        }
        if (isValid)
        {
            isValid = TrialObjectsUI.Validate(out ErrorString);
        }
        if (isValid)
        {
            isValid = QuestionnaireUI.Validate(out ErrorString);
        }

        return(isValid);
    }