internal new void WriteXml(XmlTextWriter writer)
        {
            if (String.IsNullOrEmpty(IpAddress))
                System.Diagnostics.Debug.WriteLine("Recurly Client Library: Recording IP Address is strongly recommended.");

            writer.WriteStartElement(ElementName);
                writer.WriteElementString(FirstNameElement, FirstName);
                writer.WriteElementString(LastNameElement, LastName);
                WriteAddressElements(writer);
                writer.WriteElementStringIfProvided(VatNumberElement,VatNumber);
                writer.WriteElementStringIfProvided(IpAddressElement, IpAddress);
                WriteExtendedElements(writer);
            writer.WriteEndElement();
        }
        internal void WriteXml(XmlTextWriter writer)
        {
            writer.WriteStartElement(ElementName);
                writer.WriteElementString(CouponCodeElement, CouponCode);
                writer.WriteElementString(NameElement,Name);
                writer.WriteElementStringIfProvided(HostedDescriptionElement,HostedDescription);
                writer.WriteElementStringIfProvided(InvoiceDescriptionElement, InvoiceDescription);
                writer.WriteElementDateTimeIfProvided(RedeemByDateElement, RedeemByDate);
                writer.WriteElementString(SingleUseElement, SingleUse.ToString());
                writer.WriteElementIntIfProvided(AppliesForMonthsElement,AppliesForMonths);
                writer.WriteElementString(MaxRedemptionsElement, MaxRedemptions.ToString(CultureInfo.InvariantCulture));
                WriteDiscountElements(writer);
                if(!AppliesToAllPlans)
                {
                    writer.WriteElementString(AppliesToAllPlansElement, AppliesToAllPlans.ToString());
                    writer.WriteElementList(PlanCodeListElement, PlanCodes, WritePlanCodeItem);
                }

            writer.WriteEndElement();
        }
 private void WriteXml(XmlTextWriter writer)
 {
     writer.WriteStartElement(ElementName);
         writer.WriteElementString(AddonCodeElement,AddonCode);
         writer.WriteElementString(NameElement,Name);
         UnitAmountInCents.WriteXml(writer);
         writer.WriteElementString(DefaultQuantityElement, DefaultQuantity.ToString(CultureInfo.InvariantCulture));
         writer.WriteElementString(DisplayQuantityOnHostedPageElement, DisplayQuantityOnHostedPage.ToString());
         writer.WriteElementStringIfProvided(AccountingCodeElement, AccountingCode);
     writer.WriteEndElement();
 }
 internal void WriteXml(XmlTextWriter writer)
 {
     writer.WriteStartElement(ElementName);
         writer.WriteElementString(PlanCodeElement, PlanCode);
         writer.WriteElementString(NameElement, Name);
         writer.WriteElementStringIfProvided(DescriptionElement,Description);
         writer.WriteElementStringIfProvided(SuccessUrlElement,SuccessUrl);
         writer.WriteElementStringIfProvided(CancelUrlElement,CancelUrl);
         writer.WriteElementString(DisplayQuantityElement, DisplayQuantity.ToString());
         writer.WriteElementStringIfProvided(UnitNameElement, UnitName);
         writer.WriteElementString(PlanIntervalLengthElement, PlanIntervalLength.ToString(CultureInfo.InvariantCulture));
         writer.WriteElementEnum(PlanIntervalUnitElement,PlanIntervalUnit);
         writer.WriteElementString(TrialIntervalLengthElement, TrialIntervalLength.ToString(CultureInfo.InvariantCulture));
         writer.WriteElementEnum(TrialIntervalUnitElement, TrialIntervalUnit);
         writer.WriteElementStringIfProvided(AccountingCodeElement,AccountingCode);
         UnitAmountInCents.WriteXml(writer);
         SetupFeeInCents.WriteXml(writer);
     writer.WriteEndElement();
 }
 internal void WriteXml(XmlTextWriter xmlWriter, bool includeAccountCode = true)
 {
     xmlWriter.WriteStartElement(ElementName);
         if (includeAccountCode)
             xmlWriter.WriteElementString(AccountCodeElement, AccountCode);
         xmlWriter.WriteElementStringIfProvided(UsernameElement, Username);
         xmlWriter.WriteElementString(EmailElement, Email);
         xmlWriter.WriteElementString(FirstNameElement, FirstName);
         xmlWriter.WriteElementString(LastNameElement, LastName);
         xmlWriter.WriteElementStringIfProvided(CompanyNameElement, CompanyName);
         xmlWriter.WriteElementStringIfProvided(AcceptLanguageElement, AcceptLanguage);
         if (_billingInfo != null)
             _billingInfo.WriteXml(xmlWriter);
         if (Address != null)
             Address.WriteXml(xmlWriter);
     xmlWriter.WriteEndElement(); // End: account
 }
 internal void WriteXmlElements(XmlTextWriter writer)
 {
     writer.WriteElementString(NetTermsElement,NetTerms.ToString(CultureInfo.InvariantCulture));
     writer.WriteElementStringIfProvided(PurchaseOrderNumberElement,PurchaseOrderNumber);
 }
 protected void WriteCreateXml(XmlTextWriter writer, RecurlyAccount account, string couponCode, int? billingCycles, DateTime? firstRenewalDate)
 {
     writer.WriteStartElement(ElementName); // Start: subscription
         writer.WriteElementString(PlanCodeElement, PlanCode); //Required
         account.WriteXml(writer); //Required
         writer.WriteElementStringIfProvided(CouponCodeElement,couponCode);
         writer.WriteElementIntIfProvided(UnitAmountInCentsElement, UnitAmountInCents);
         writer.WriteElementString(CurrencyElement,Currency); //Required
         writer.WriteElementIntIfProvided(QuantityElement, Quantity > 1 ? Quantity : new int?());
         writer.WriteElementDateTimeIfProvided(TrialEndsAtElement, TrialEndsAt);
         writer.WriteElementDateTimeIfFuture(StartsAtElement,ActivatedAt);
         writer.WriteElementIntIfProvided(TotalBillingCyclesElement, billingCycles);
         writer.WriteElementDateTimeIfProvided(FirstRenewalDateElement, firstRenewalDate);
         writer.WriteElementListIfAny(AddonsElement, Addons, (w, a) => a.WriteXml(w));
         WriteManualInvoiceElement(writer);
     writer.WriteEndElement(); // End: subscription
 }
 protected void WriteChangeXml(XmlTextWriter writer, ChangeTimeframe timeframe, string newPlanCode)
 {
     writer.WriteStartElement(ElementName); // Start: subscription
         writer.WriteElementEnum("timeframe", timeframe); //Required
         writer.WriteElementStringIfProvided(PlanCodeElement, newPlanCode);
         writer.WriteElementIntIfProvided(QuantityElement,Quantity);
         writer.WriteElementIntIfProvided(UnitAmountInCentsElement,UnitAmountInCents);
         writer.WriteElementListIfAny(AddonsElement, Addons, (w, a) => a.WriteXml(w));
         WriteManualInvoiceElement(writer);
     writer.WriteEndElement(); // End: subscription
 }
 private void WriteXml(XmlTextWriter writer)
 {
     writer.WriteStartElement(ElementName);
         //writer.WriteElementString(AccountCodeCreateElement,AccountCode); //Shows required in API documentation but is not sent in the PHP client
         writer.WriteElementString(CurrencyElement,Currency);
         writer.WriteElementString(UnitAmountInCentsElement,UnitAmountInCents.ToString(CultureInfo.InvariantCulture));
         writer.WriteElementStringIfProvided(DescriptionElement,Description);
         writer.WriteElementIntIfProvided(QuantityElement,Quantity > 1 ? Quantity : new int?());
         writer.WriteElementStringIfProvided(AccountingCodeElement,AccountingCode);
     writer.WriteEndElement();
 }