public static Invoice ToQBAccessInvoice(this Intuit.Ipp.Data.Invoice invoice) { var qbAccessItem = new Invoice { Id = invoice.Id, DocNumber = invoice.DocNumber, Balance = invoice.Balance, Currency = invoice.CurrencyRef != null ? invoice.CurrencyRef.Value : PredefinedValues.NotAvailable, TotalAmt = invoice.TotalAmt, SyncToken = invoice.SyncToken, ShipCity = invoice.ShipAddr != null ? invoice.ShipAddr.City : PredefinedValues.NotAvailable, ShipCountry = invoice.ShipAddr != null ? invoice.ShipAddr.Country : PredefinedValues.NotAvailable, ShipCountryCode = invoice.ShipAddr != null ? invoice.ShipAddr.CountryCode : PredefinedValues.NotAvailable, ShipPostalCode = invoice.ShipAddr != null ? invoice.ShipAddr.PostalCode : PredefinedValues.NotAvailable, ShipPostalCodeSuffix = invoice.ShipAddr != null ? invoice.ShipAddr.PostalCodeSuffix : PredefinedValues.NotAvailable, ShipDate = invoice.ShipDate, Deposit = invoice.Deposit, TrackingNum = invoice.TrackingNum, CreateTime = invoice.MetaData.CreateTime, Line = invoice.Line.Select(x => x.ToQBAccessInvoiceLine()).ToList(), CustomerName = (invoice.CustomerRef != null) ? invoice.CustomerRef.name : null, CustomerValue = (invoice.CustomerRef != null) ? invoice.CustomerRef.Value : null, PrivateNote = invoice.PrivateNote, }; return(qbAccessItem); }
public static Intuit.Ipp.Data.Invoice ToIppInvoice(this Models.Services.QuickBooksOnlineServicesSdk.CreateInvoice.Invoice invoice) { var qbPurchaseOrder = new Intuit.Ipp.Data.Invoice { DocNumber = invoice.DocNumber, Line = invoice.Line.Select(x => x.ToIppInvoiceLine()).ToArray(), CustomerRef = new ReferenceType { Value = invoice.CustomerValue, name = invoice.CustomerName }, CurrencyRef = new ReferenceType { name = "United States Dollar", Value = "USD" } }; return(qbPurchaseOrder); }