Beispiel #1
0
        /// <summary>
        /// Gets a collection of <see cref="IReplaceablePattern"/> for the invoice
        /// </summary>
        /// <param name="invoice">
        /// The invoice.
        /// </param>
        /// <returns>
        /// The collection of replaceable patterns
        /// </returns>
        internal static IEnumerable <IReplaceablePattern> ReplaceablePatterns(this IInvoice invoice)
        {
            // TODO localization needed on pricing and datetime
            var patterns = new List <IReplaceablePattern>
            {
                ReplaceablePattern.GetConfigurationReplaceablePattern("InvoiceNumber", invoice.PrefixedInvoiceNumber()),
                ReplaceablePattern.GetConfigurationReplaceablePattern("InvoiceDate", invoice.InvoiceDate.ToShortDateString()),
                ReplaceablePattern.GetConfigurationReplaceablePattern("BillToName", invoice.BillToName),
                ReplaceablePattern.GetConfigurationReplaceablePattern("BillToAddress1", invoice.BillToAddress1),
                ReplaceablePattern.GetConfigurationReplaceablePattern("BillToAddress2", invoice.BillToAddress2),
                ReplaceablePattern.GetConfigurationReplaceablePattern("BillToLocality", invoice.BillToLocality),
                ReplaceablePattern.GetConfigurationReplaceablePattern("BillToRegion", invoice.BillToRegion),
                ReplaceablePattern.GetConfigurationReplaceablePattern("BillToPostalCode", invoice.BillToPostalCode),
                ReplaceablePattern.GetConfigurationReplaceablePattern("BillToCountryCode", invoice.BillToCountryCode),
                ReplaceablePattern.GetConfigurationReplaceablePattern("BillToEmail", invoice.BillToEmail),
                ReplaceablePattern.GetConfigurationReplaceablePattern("BillToPhone", invoice.BillToPhone),
                ReplaceablePattern.GetConfigurationReplaceablePattern("BillToCompany", invoice.BillToCompany),
                ReplaceablePattern.GetConfigurationReplaceablePattern("TotalPrice", invoice.Total.ToString("C")),
                ReplaceablePattern.GetConfigurationReplaceablePattern("InvoiceStatus", invoice.InvoiceStatus.Name)
            };

            patterns.AddRange(invoice.LineItemReplaceablePatterns());

            return(patterns);
        }
        /// <summary>
        /// Gets a collection of <see cref="IReplaceablePattern"/> for the invoice
        /// </summary>
        /// <param name="invoice">
        /// The invoice.
        /// </param>
        /// <param name="currencySymbol">
        /// The currency symbol
        /// </param>
        /// <returns>
        /// The collection of replaceable patterns
        /// </returns>
        internal static IEnumerable <IReplaceablePattern> ReplaceablePatterns(this IInvoice invoice, string currencySymbol)
        {
            var patterns = new List <IReplaceablePattern>
            {
                ReplaceablePattern.GetConfigurationReplaceablePattern("InvoiceKey", invoice.Key.ToString()),
                ReplaceablePattern.GetConfigurationReplaceablePattern("InvoiceNumber", invoice.PrefixedInvoiceNumber()),
                ReplaceablePattern.GetConfigurationReplaceablePattern("InvoiceDate", invoice.InvoiceDate.FormatAsStoreDate()),
                ReplaceablePattern.GetConfigurationReplaceablePattern("BillToName", invoice.BillToName),
                ReplaceablePattern.GetConfigurationReplaceablePattern("BillToAddress1", invoice.BillToAddress1),
                ReplaceablePattern.GetConfigurationReplaceablePattern("BillToAddress2", invoice.BillToAddress2),
                ReplaceablePattern.GetConfigurationReplaceablePattern("BillToLocality", invoice.BillToLocality),
                ReplaceablePattern.GetConfigurationReplaceablePattern("BillToRegion", invoice.BillToRegion),
                ReplaceablePattern.GetConfigurationReplaceablePattern("BillToPostalCode", invoice.BillToPostalCode),
                ReplaceablePattern.GetConfigurationReplaceablePattern("BillToCountryCode", invoice.BillToCountryCode),
                ReplaceablePattern.GetConfigurationReplaceablePattern("BillToEmail", invoice.BillToEmail),
                ReplaceablePattern.GetConfigurationReplaceablePattern("BillToPhone", invoice.BillToPhone),
                ReplaceablePattern.GetConfigurationReplaceablePattern("BillToCompany", invoice.BillToCompany),
                ReplaceablePattern.GetConfigurationReplaceablePattern("TotalItemPlusCustom", (invoice.TotalCustomItemPrice() + invoice.TotalItemPrice()).FormatAsPrice(currencySymbol)),
                ReplaceablePattern.GetConfigurationReplaceablePattern("TotalDiscountPrice", invoice.TotalDiscounts().FormatAsPrice(currencySymbol)),
                ReplaceablePattern.GetConfigurationReplaceablePattern("TotalItemPrice", invoice.TotalItemPrice().FormatAsPrice(currencySymbol)),
                ReplaceablePattern.GetConfigurationReplaceablePattern("TotalShippingPrice", invoice.TotalShipping().FormatAsPrice(currencySymbol)),
                ReplaceablePattern.GetConfigurationReplaceablePattern("TotalCustomPrice", invoice.TotalCustomItemPrice().FormatAsPrice(currencySymbol)),
                ReplaceablePattern.GetConfigurationReplaceablePattern("TotalTaxPrice", invoice.TotalTax().FormatAsPrice(currencySymbol)),
                ReplaceablePattern.GetConfigurationReplaceablePattern("TotalPrice", invoice.Total.FormatAsPrice(currencySymbol)),
                ReplaceablePattern.GetConfigurationReplaceablePattern("InvoiceStatus", invoice.InvoiceStatus.Name)
            };

            patterns.AddRange(invoice.LineItemReplaceablePatterns(currencySymbol));

            return(patterns.Where(x => x != null));
        }
Beispiel #3
0
        /// <summary>
        /// Replaces shipmethod values.
        /// </summary>
        /// <param name="shipMethod">
        /// The ship method.
        /// </param>
        /// <returns>
        /// The <see cref="IEnumerable{IReplaceablePattern}"/>.
        /// </returns>
        internal static IEnumerable <IReplaceablePattern> ReplaceablePatterns(this IShipMethod shipMethod)
        {
            var patterns = new List <IReplaceablePattern>
            {
                ReplaceablePattern.GetConfigurationReplaceablePattern("ShipMethodName", shipMethod.Name),
            };

            return(patterns);
        }
Beispiel #4
0
        /// <summary>
        /// The replaceable patterns.
        /// </summary>
        /// <param name="payment">
        /// The payment.
        /// </param>
        /// <param name="currencySymbol">
        /// The currency symbol.
        /// </param>
        /// <returns>
        /// The <see cref="IEnumerable{IReplaceablePattern}"/>.
        /// </returns>
        internal static IEnumerable <IReplaceablePattern> ReplaceablePatterns(this IPayment payment, string currencySymbol)
        {
            var patterns = new List <IReplaceablePattern>
            {
                ReplaceablePattern.GetConfigurationReplaceablePattern("PamentReferenceNumber", payment.ReferenceNumber),
                ReplaceablePattern.GetConfigurationReplaceablePattern("PaymentAmount", payment.Amount.FormatAsPrice(currencySymbol)),
                ReplaceablePattern.GetConfigurationReplaceablePattern("PaymentMethodName", payment.PaymentMethodName),
            };

            return(patterns);
        }
Beispiel #5
0
        /// <summary>
        /// Adds shipment replaceable patters.
        /// </summary>
        /// <param name="shipment">
        /// The shipment.
        /// </param>
        /// <param name="currencySymbol">
        /// The currency Symbol.
        /// </param>
        /// <returns>
        /// The <see cref="IEnumerable{IReplaceablePattern}"/>.
        /// </returns>
        internal static IEnumerable <IReplaceablePattern> ReplaceablePatterns(this IShipment shipment, string currencySymbol)
        {
            var patterns = new List <IReplaceablePattern>
            {
                ReplaceablePattern.GetConfigurationReplaceablePattern("ShippedDate", shipment.ShippedDate.FormatAsStoreDate()),
                ReplaceablePattern.GetConfigurationReplaceablePattern("ShipToOrganization", shipment.ToOrganization),
                ReplaceablePattern.GetConfigurationReplaceablePattern("ShipToName", shipment.ToName),
                ReplaceablePattern.GetConfigurationReplaceablePattern("ShipToAddress1", shipment.ToAddress1),
                ReplaceablePattern.GetConfigurationReplaceablePattern("ShipToAddress2", shipment.ToAddress2),
                ReplaceablePattern.GetConfigurationReplaceablePattern("ShipToLocality", shipment.ToLocality),
                ReplaceablePattern.GetConfigurationReplaceablePattern("ShipToRegion", shipment.ToRegion),
                ReplaceablePattern.GetConfigurationReplaceablePattern("ShipToPostalCode", shipment.ToPostalCode),
                ReplaceablePattern.GetConfigurationReplaceablePattern("ShipToCountryCode", shipment.ToCountryCode),
                ReplaceablePattern.GetConfigurationReplaceablePattern("ShipToEmail", shipment.Email),
                ReplaceablePattern.GetConfigurationReplaceablePattern("ShipToPhone", shipment.Phone),
                ReplaceablePattern.GetConfigurationReplaceablePattern("ShipToOrganization", shipment.ToOrganization),
                ReplaceablePattern.GetConfigurationReplaceablePattern("TrackingCode", shipment.TrackingCode)
            };

            patterns.AddRange(shipment.LineItemReplaceablePatterns(currencySymbol));

            return(patterns.Where(x => x != null));
        }
        /// <summary>
        /// Gets a collection of <see cref="IReplaceablePattern"/> for the invoice
        /// </summary>
        /// <param name="invoice">
        /// The invoice.
        /// </param>
        /// <returns>
        /// The collection of replaceable patterns
        /// </returns>
        internal static IEnumerable <IReplaceablePattern> ReplaceablePatterns(this IShipment shipment)
        {
            // TODO localization needed on pricing and datetime
            var patterns = new List <IReplaceablePattern>
            {
                ReplaceablePattern.GetConfigurationReplaceablePattern("ShippedDate", shipment.ShippedDate.ToShortDateString()),
                ReplaceablePattern.GetConfigurationReplaceablePattern("ShipToOrganization", shipment.ToOrganization),
                ReplaceablePattern.GetConfigurationReplaceablePattern("ShipToName", shipment.ToName),
                ReplaceablePattern.GetConfigurationReplaceablePattern("ShipToAddress1", shipment.ToAddress1),
                ReplaceablePattern.GetConfigurationReplaceablePattern("ShipToAddress2", shipment.ToAddress2),
                ReplaceablePattern.GetConfigurationReplaceablePattern("ShipToLocality", shipment.ToLocality),
                ReplaceablePattern.GetConfigurationReplaceablePattern("ShipToRegion", shipment.ToRegion),
                ReplaceablePattern.GetConfigurationReplaceablePattern("ShipToPostalCode", shipment.ToPostalCode),
                ReplaceablePattern.GetConfigurationReplaceablePattern("ShipToCountryCode", shipment.ToCountryCode),
                ReplaceablePattern.GetConfigurationReplaceablePattern("ShipToEmail", shipment.Email),
                ReplaceablePattern.GetConfigurationReplaceablePattern("ShipToPhone", shipment.Phone),
                ReplaceablePattern.GetConfigurationReplaceablePattern("ShipToOrganization", shipment.ToOrganization),
                ReplaceablePattern.GetConfigurationReplaceablePattern("TrackingCode", shipment.TrackingCode)
            };

            patterns.AddRange(shipment.LineItemReplaceablePatterns());

            return(patterns);
        }