예제 #1
0
 internal void WriteXml(XmlTextWriter xmlWriter, bool embedded = false)
 {
     xmlWriter.WriteStartElement("adjustment"); // Start: adjustment
     xmlWriter.WriteElementString("description", Description);
     xmlWriter.WriteElementString("unit_amount_in_cents", UnitAmountInCents.AsString());
     xmlWriter.WriteElementString("quantity", Quantity.AsString());
     xmlWriter.WriteElementString("accounting_code", AccountingCode);
     xmlWriter.WriteElementString("tax_exempt", TaxExempt.AsString());
     xmlWriter.WriteElementString("product_code", ProductCode);
     if (!embedded)
     {
         xmlWriter.WriteElementString("currency", Currency);
     }
     if (RevenueScheduleType.HasValue)
     {
         xmlWriter.WriteElementString("revenue_schedule_type", RevenueScheduleType.Value.ToString().EnumNameToTransportCase());
     }
     if (TaxCode != null)
     {
         xmlWriter.WriteElementString("tax_code", TaxCode);
     }
     if (StartDate != DateTime.MinValue)
     {
         xmlWriter.WriteElementString("start_date", StartDate.ToString("s"));
     }
     if (EndDate.HasValue)
     {
         xmlWriter.WriteElementString("end_date", EndDate.Value.ToString("s"));
     }
     if (Origin != null)
     {
         xmlWriter.WriteElementString("origin", Origin);
     }
     xmlWriter.WriteEndElement(); // End: adjustment
 }
        internal override void WriteXml(XmlTextWriter writer)
        {
            writer.WriteStartElement("subscription_add_on");

            writer.WriteElementString("add_on_code", AddOnCode);
            writer.WriteElementString("quantity", Quantity.AsString());
            writer.WriteElementString("unit_amount_in_cents", UnitAmountInCents.AsString());

            writer.WriteEndElement();
        }
예제 #3
0
 internal override void WriteXml(XmlTextWriter xmlWriter)
 {
     xmlWriter.WriteStartElement("adjustment");
     xmlWriter.WriteElementString("description", Description);
     xmlWriter.WriteElementString("unit_amount_in_cents", UnitAmountInCents.AsString());
     xmlWriter.WriteElementString("currency", Currency);
     xmlWriter.WriteElementString("quantity", Quantity.AsString());
     xmlWriter.WriteElementString("accounting_code", AccountingCode);
     xmlWriter.WriteElementString("tax_exempt", TaxExempt.AsString());
     xmlWriter.WriteEndElement();
 }
예제 #4
0
        internal void ReadXmlUnitAmount(XmlTextReader reader)
        {
            while (reader.Read())
            {
                if (reader.Name == "unit_amount_in_cents" && reader.NodeType == XmlNodeType.EndElement)
                {
                    break;
                }

                if (reader.NodeType == XmlNodeType.Element)
                {
                    UnitAmountInCents.Add(reader.Name, reader.ReadElementContentAsInt());
                }
            }
        }
        internal override void WriteXml(XmlTextWriter writer)
        {
            writer.WriteStartElement("subscription_add_on");

            writer.WriteElementString("add_on_code", AddOnCode);
            writer.WriteElementString("quantity", Quantity.AsString());
            writer.WriteElementString("unit_amount_in_cents", UnitAmountInCents.AsString());

            if (RevenueScheduleType.HasValue)
            {
                writer.WriteElementString("revenue_schedule_type", RevenueScheduleType.Value.ToString().EnumNameToTransportCase());
            }

            writer.WriteEndElement();
        }
예제 #6
0
 internal void WriteXml(XmlTextWriter xmlWriter, bool embedded = false)
 {
     xmlWriter.WriteStartElement("adjustment"); // Start: adjustment
     xmlWriter.WriteElementString("description", Description);
     xmlWriter.WriteElementString("unit_amount_in_cents", UnitAmountInCents.AsString());
     xmlWriter.WriteElementString("quantity", Quantity.AsString());
     xmlWriter.WriteElementString("accounting_code", AccountingCode);
     xmlWriter.WriteElementString("tax_exempt", TaxExempt.AsString());
     if (!embedded)
     {
         xmlWriter.WriteElementString("currency", Currency);
     }
     if (RevenueScheduleType.HasValue)
     {
         xmlWriter.WriteElementString("revenue_schedule_type", RevenueScheduleType.Value.ToString().EnumNameToTransportCase());
     }
     xmlWriter.WriteEndElement(); // End: adjustment
 }
예제 #7
0
        internal override void WriteXml(XmlTextWriter xmlWriter)
        {
            xmlWriter.WriteStartElement("gift_card"); // Start: gift_card

            xmlWriter.WriteElementString("product_code", ProductCode);
            xmlWriter.WriteElementString("currency", Currency);
            xmlWriter.WriteElementString("unit_amount_in_cents", UnitAmountInCents.ToString());

            if (GifterAccount != null)
            {
                GifterAccount.WriteXml(xmlWriter, "gifter_account");
            }

            if (Delivery != null)
            {
                Delivery.WriteXml(xmlWriter);
            }

            xmlWriter.WriteEndElement(); // End: gift_card
        }
예제 #8
0
        internal override void ReadXml(XmlTextReader reader)
        {
            UnitAmountInCents.Clear();
            SetupFeeInCents.Clear();

            while (reader.Read())
            {
                // End of account element, get out of here
                if (reader.Name == "plan" && reader.NodeType == XmlNodeType.EndElement)
                {
                    break;
                }

                if (reader.NodeType != XmlNodeType.Element)
                {
                    continue;
                }

                switch (reader.Name)
                {
                case "plan_code":
                    PlanCode = reader.ReadElementContentAsString();
                    break;

                case "name":
                    Name = reader.ReadElementContentAsString();
                    break;

                case "description":
                    Description = reader.ReadElementContentAsString();
                    break;

                case "success_url":
                    SuccessUrl = reader.ReadElementContentAsString();
                    break;

                case "cancel_url":
                    CancelUrl = reader.ReadElementContentAsString();
                    break;

                case "display_donation_amounts":
                    DisplayDonationAmounts = reader.ReadElementContentAsBoolean();
                    break;

                case "display_quantity":
                    DisplayQuantity = reader.ReadElementContentAsBoolean();
                    break;

                case "display_phone_number":
                    DisplayPhoneNumber = reader.ReadElementContentAsBoolean();
                    break;

                case "bypass_hosted_confirmation":
                    BypassHostedConfirmation = reader.ReadElementContentAsBoolean();
                    break;

                case "unit_name":
                    UnitName = reader.ReadElementContentAsString();
                    break;

                case "payment_page_tos_link":
                    PaymentPageTOSLink = reader.ReadElementContentAsString();
                    break;

                case "plan_interval_length":
                    PlanIntervalLength = reader.ReadElementContentAsInt();
                    break;

                case "plan_interval_unit":
                    PlanIntervalUnit = reader.ReadElementContentAsString().ParseAsEnum <IntervalUnit>();
                    break;

                case "trial_interval_length":
                    TrialIntervalLength = reader.ReadElementContentAsInt();
                    break;

                case "trial_interval_unit":
                    TrialIntervalUnit = reader.ReadElementContentAsString().ParseAsEnum <IntervalUnit>();
                    break;

                case "accounting_code":
                    AccountingCode = reader.ReadElementContentAsString();
                    break;

                case "created_at":
                    CreatedAt = reader.ReadElementContentAsDateTime();
                    break;

                case "tax_exempt":
                    TaxExempt = reader.ReadElementContentAsBoolean();
                    break;

                case "tax_code":
                    TaxCode = reader.ReadElementContentAsString();
                    break;

                case "unit_amount_in_cents":
                    ReadXmlUnitAmount(reader);
                    break;

                case "setup_fee_in_cents":
                    ReadXmlSetupFee(reader);
                    break;
                }
            }
        }
예제 #9
0
        internal override void ReadXml(XmlTextReader reader)
        {
            UnitAmountInCents.Clear();
            SetupFeeInCents.Clear();

            while (reader.Read())
            {
                // End of account element, get out of here
                if (reader.Name == "plan" && reader.NodeType == XmlNodeType.EndElement)
                {
                    break;
                }

                if (reader.NodeType != XmlNodeType.Element)
                {
                    continue;
                }

                bool b;

                switch (reader.Name)
                {
                case "plan_code":
                    PlanCode = reader.ReadElementContentAsString();
                    break;

                case "name":
                    Name = reader.ReadElementContentAsString();
                    break;

                case "description":
                    Description = reader.ReadElementContentAsString();
                    break;

                case "success_url":
                    SuccessUrl = reader.ReadElementContentAsString();
                    break;

                case "cancel_url":
                    CancelUrl = reader.ReadElementContentAsString();
                    break;

                case "display_donation_amounts":
                    DisplayDonationAmounts = reader.ReadElementContentAsBoolean();
                    break;

                case "display_quantity":
                    DisplayQuantity = reader.ReadElementContentAsBoolean();
                    break;

                case "display_phone_number":
                    DisplayPhoneNumber = reader.ReadElementContentAsBoolean();
                    break;

                case "bypass_hosted_confirmation":
                    BypassHostedConfirmation = reader.ReadElementContentAsBoolean();
                    break;

                case "unit_name":
                    UnitName = reader.ReadElementContentAsString();
                    break;

                case "payment_page_tos_link":
                    PaymentPageTOSLink = reader.ReadElementContentAsString();
                    break;

                case "plan_interval_length":
                    PlanIntervalLength = reader.ReadElementContentAsInt();
                    break;

                case "plan_interval_unit":
                    PlanIntervalUnit = reader.ReadElementContentAsString().ParseAsEnum <IntervalUnit>();
                    break;

                case "trial_interval_length":
                    TrialIntervalLength = reader.ReadElementContentAsInt();
                    break;

                case "trial_interval_unit":
                    TrialIntervalUnit = reader.ReadElementContentAsString().ParseAsEnum <IntervalUnit>();
                    break;

                case "accounting_code":
                    AccountingCode = reader.ReadElementContentAsString();
                    break;

                case "setup_fee_accounting_code":
                    SetupFeeAccountingCode = reader.ReadElementContentAsString();
                    break;

                case "created_at":
                    CreatedAt = reader.ReadElementContentAsDateTime();
                    break;

                case "updated_at":
                    UpdatedAt = reader.ReadElementContentAsDateTime();
                    break;

                case "tax_exempt":
                    TaxExempt = reader.ReadElementContentAsBoolean();
                    break;

                case "tax_code":
                    TaxCode = reader.ReadElementContentAsString();
                    break;

                case "unit_amount_in_cents":
                    ReadXmlUnitAmount(reader);
                    break;

                case "setup_fee_in_cents":
                    ReadXmlSetupFee(reader);
                    break;

                case "total_billing_cycles":
                    int totalBillingCycles;
                    if (int.TryParse(reader.ReadElementContentAsString(), out totalBillingCycles))
                    {
                        TotalBillingCycles = totalBillingCycles;
                    }
                    break;

                case "trial_requires_billing_info":
                    if (bool.TryParse(reader.ReadElementContentAsString(), out b))
                    {
                        TrialRequiresBillingInfo = b;
                    }
                    break;

                case "revenue_schedule_type":
                    var revenueScheduleType = reader.ReadElementContentAsString();
                    if (!revenueScheduleType.IsNullOrEmpty())
                    {
                        RevenueScheduleType = revenueScheduleType.ParseAsEnum <Adjustment.RevenueSchedule>();
                    }
                    break;

                case "setup_fee_revenue_schedule_type":
                    var setupFeeRevenueScheduleType = reader.ReadElementContentAsString();
                    if (!setupFeeRevenueScheduleType.IsNullOrEmpty())
                    {
                        SetupFeeRevenueScheduleType = setupFeeRevenueScheduleType.ParseAsEnum <Adjustment.RevenueSchedule>();
                    }
                    break;

                case "auto_renew":
                    if (bool.TryParse(reader.ReadElementContentAsString(), out b))
                    {
                        AutoRenew = b;
                    }
                    break;
                }
            }
        }