/// <summary>
        /// Converts a Lucene cached invoice into <see cref="InvoiceDisplay"/>
        /// </summary>
        internal static InvoiceDisplay ToInvoiceDisplay(this SearchResult result)
        {
            var invoice = new InvoiceDisplay()
            {
                Key = FieldAsGuid(result, "invoiceKey"),
                InvoiceNumberPrefix = FieldAsString(result, "invoiceNumberPrefix"),
                InvoiceNumber       = FieldAsInteger(result, "invoiceNumber"),
                InvoiceDate         = FieldAsDateTime(result, "invoiceDate"),
                InvoiceStatusKey    = FieldAsGuid(result, "invoiceStatusKey"),
                VersionKey          = FieldAsGuid(result, "versionKey"),
                BillToName          = result.Fields["billToName"],
                BillToAddress1      = FieldAsString(result, "billToAddress1"),
                BillToAddress2      = FieldAsString(result, "billToAddress2"),
                BillToLocality      = FieldAsString(result, "billToLocality"),
                BillToRegion        = FieldAsString(result, "billoToRegion"),
                BillToCountryCode   = FieldAsString(result, "billToCountryCode"),
                BillToPostalCode    = FieldAsString(result, "billToPostalCode"),
                BillToCompany       = FieldAsString(result, "billToCompany"),
                BillToPhone         = FieldAsString(result, "billToPhone"),
                BillToEmail         = FieldAsString(result, "billToEmail"),
                Exported            = FieldAsBoolean(result.Fields["exported"]),
                Archived            = FieldAsBoolean(result.Fields["archived"]),
                Total         = FieldAsDecimal(result, "total"),
                InvoiceStatus = JsonFieldAs <InvoiceStatusDisplay>(result, "invoiceStatus"),
                Items         = RawJsonFieldAsCollection <InvoiceLineItemDisplay>(result, "invoiceItems"),
            };

            invoice.Orders = OrderQuery.GetByInvoiceKey(invoice.Key);

            return(invoice);
        }
Пример #2
0
 /// <summary>
 /// Returns an collection of orders for an invoice id (key)
 ///
 /// GET /umbraco/Merchello/OrderApi/GetOrdersByInvoiceKey/{guid}
 /// </summary>
 /// <param name="id">
 /// The invoice key
 /// </param>
 /// <returns>
 /// The collection of <see cref="OrderDisplay"/>.
 /// </returns>
 public IEnumerable <OrderDisplay> GetOrdersByInvoiceKey(Guid id)
 {
     return(OrderQuery.GetByInvoiceKey(id));
 }