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 }