/// <summary>
        /// Creates a Xero line item for every Aquairum line item with a matching Invoice number,  and bundles them up into a Xero invoice
        /// </summary>
        /// <param name="theInvoiceLineItemToConvert"></param>
        /// <returns></returns>
        public static XeroApi.Model.Invoice ConvertMultipleOutboundInvoiceLineItemsToXeroInvoice(OutboundInvoiceLineItemList theInvoiceLineItemsToConvert, OutboundInvoiceLineItem theLineItemToMatchTo, Datalayer.Xero.Interresolve.InterResolveXeroService aService)
        {
            try
            {
                XeroApi.Model.Invoice theInvoiceToReturn = new XeroApi.Model.Invoice();
                theInvoiceToReturn.LineItems = new XeroApi.Model.LineItems();
                theInvoiceToReturn.Contact = new XeroApi.Model.Contact(); //NEED TO SPECIFY A CONTACT

                //assign the xero contact
                aService.LoginToXero();
                theInvoiceToReturn.Contact = aService.GetXeroContactFromAquariumInvoiceLineItemList(theLineItemToMatchTo);

                //assign top level invoice fields for the passed invoice to the Xero counterpart
                theInvoiceToReturn.InvoiceNumber = theLineItemToMatchTo.InvoiceNumber.ToString();
                theInvoiceToReturn.Status = "DRAFT";
                theInvoiceToReturn.Type = "ACCREC"; //Sales invoice
                theInvoiceToReturn.Reference = theLineItemToMatchTo.SageNarrative + " " + theLineItemToMatchTo.YourRef;
                theInvoiceToReturn.LineAmountTypes = XeroApi.Model.LineAmountType.Exclusive;
                theInvoiceToReturn.SubTotal = theLineItemToMatchTo.OriginalPurchaseInvoiceTotal;
                theInvoiceToReturn.DueDate = DateTime.Now.AddDays(14);
                theInvoiceToReturn.Date = theLineItemToMatchTo.InvoiceDate;
               // theInvoiceToReturn.TotalTax //this must be calculated AFTER by summing all the line item VATs
                theInvoiceToReturn.Total = theLineItemToMatchTo.OriginalPurchaseInvoiceTotal;

                //iterate through and if number matches specified invoice number, add it to the list
                decimal RunningVATTotalForInvoice = new decimal(0.00);

                for (int i = 0; i < theInvoiceLineItemsToConvert.OutboundInvoiceLineItems.Count(); i++)
                {
                    if (theInvoiceLineItemsToConvert.OutboundInvoiceLineItems.ElementAt(i).InvoiceNumber == theLineItemToMatchTo.InvoiceNumber)
                    {
                         //if the invoice numbers match, create a new line item and add this line item to the list
                        XeroApi.Model.LineItem aLineItem = new XeroApi.Model.LineItem();
                        aLineItem.Quantity = 1; //always one line item
                        aLineItem.Description = theInvoiceLineItemsToConvert.OutboundInvoiceLineItems.ElementAt(i).InvoiceType; //
                        aLineItem.UnitAmount = theInvoiceLineItemsToConvert.OutboundInvoiceLineItems.ElementAt(i).OriginalPurchaseInvoiceAmount;
                        aLineItem.TaxAmount = theInvoiceLineItemsToConvert.OutboundInvoiceLineItems.ElementAt(i).OriginalPurchaseInvoiceVAT;
                        aLineItem.LineAmount = (aLineItem.Quantity * aLineItem.UnitAmount);
                        aLineItem.AccountCode = InterResolveXeroService.GetXeroAccountCodeForAquariumLineItem(theInvoiceLineItemsToConvert.OutboundInvoiceLineItems.ElementAt(i));

                        //add the VAT to the running total
                        RunningVATTotalForInvoice =+ theInvoiceLineItemsToConvert.OutboundInvoiceLineItems.ElementAt(i).OriginalPurchaseInvoiceVAT;

                        //add it to the list
                        theInvoiceToReturn.LineItems.Add(aLineItem);
                     }

                 }

                //assign the overall invoice VAT
                theInvoiceToReturn.TotalTax = RunningVATTotalForInvoice;

                return theInvoiceToReturn;
                }

            catch (Exception ex)
            {
                throw ex;
            }
        }