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(); }
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(); }
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(); }
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 }
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 }
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; } } }
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; } } }