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 Order ToQBOrder(this Invoice source) { var qbOrder = new Order { OrderType = OrderType.Invoice, OrderId = source.Id, Balance = source.Balance, Currency = source.Currency, DocNumber = source.DocNumber, ShipCity = source.ShipCity, ShipCountry = source.ShipCountry, ShipCountryCode = source.ShipCountryCode, ShipPostalCode = source.ShipPostalCode, ShipPostalCodeSuffix = source.ShipPostalCodeSuffix, SyncToken = source.SyncToken, TrackingNum = source.TrackingNum, Deposit = source.Deposit, Line = source.Line.ToQBOrderLine(), ShipDate = source.ShipDate, TotalAmt = source.TotalAmt, CreateTime = source.CreateTime, CustomerName = source.CustomerName, CustomerValue = source.CustomerValue, PrivateNote = source.PrivateNote, }; return(qbOrder); }