/// <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); }
/// <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)); }