private void WriteDiscountElements(XmlTextWriter writer) { writer.WriteElementEnum(DiscountTypeElement, Type); switch(Type) { case DiscountType.Percent: writer.WriteElementIntIfProvided(DiscountPercentElement, DiscountPercent); break; case DiscountType.Dollars: writer.WriteStartElement(DiscountInCentsElement); foreach(var item in DiscountInCents) { writer.WriteElementString(item.Currency, item.AmountInCents.ToString(CultureInfo.InvariantCulture)); } writer.WriteEndElement(); break; } }
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(); }
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(); }
internal void WriteXml(XmlTextWriter writer) { writer.WriteStartElement(ElementName); writer.WriteElementString(AddonCodeElement,AddonCode); writer.WriteElementString(UnitAmountInCentsElement, UnitAmountInCents.ToString()); writer.WriteElementIntIfProvided(QuantityElement,Quantity); writer.WriteEndElement(); }