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; } }
private void WriteManualInvoiceElement(XmlTextWriter writer) { if(CollectionMethod != CollectionMethods.Manual || ManualInvoiceDetails == null) return; writer.WriteElementEnum(CollectionMethodElement,CollectionMethod); ManualInvoiceDetails.WriteXmlElements(writer); }
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(); }
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 }