/// <summary> /// Constructor clase APInvoicesBatch. /// </summary> /// <param name="suministroLRFacturasRecibidas">Objeto de serialización xml para /// suministro de facturas recibidas.</param> public APInvoicesBatch(SuministroLRFacturasRecibidas suministroLRFacturasRecibidas) { APInvoices = new List <APInvoice>(); CommunicationType communicationType; if (!Enum.TryParse <CommunicationType>( suministroLRFacturasRecibidas.Cabecera.TipoComunicacion, out communicationType)) { throw new InvalidOperationException($"Unknown comunication type {suministroLRFacturasRecibidas.Cabecera.TipoComunicacion}"); } CommunicationType = communicationType; Titular = new Party() { TaxIdentificationNumber = suministroLRFacturasRecibidas.Cabecera.Titular.NIF, PartyName = suministroLRFacturasRecibidas.Cabecera.Titular.NombreRazon }; foreach (var invoice in suministroLRFacturasRecibidas.RegistroLRFacturasRecibidas) { APInvoice apInvoice = new APInvoice(invoice); apInvoice.BuyerParty = Titular; APInvoices.Add(apInvoice); } }
/// <summary> /// Constructor clase ARInvoicesPaymentsBatch. /// </summary> /// <param name="suministroLRPagosRecibidas">Objeto de serialización xml para /// suministro de facturas emitidas.</param> public APInvoicesPaymentsBatch(SuministroLRPagosRecibidas suministroLRPagosRecibidas) { APInvoices = new List <APInvoice>(); Titular = new Party() { TaxIdentificationNumber = suministroLRPagosRecibidas.Cabecera.Titular.NIF, PartyName = suministroLRPagosRecibidas.Cabecera.Titular.NombreRazon }; foreach (var invoice in suministroLRPagosRecibidas.RegistroLRPagos) { APInvoice facturaWrk = new APInvoice(); facturaWrk.InvoiceNumber = invoice.IDFactura.NumSerieFacturaEmisor; facturaWrk.IssueDate = Convert.ToDateTime(invoice.IDFactura.FechaExpedicionFacturaEmisor); facturaWrk.BuyerParty = Titular; Party Emisor = new Party() { PartyName = invoice.IDFactura.IDEmisorFactura.NombreRazon, TaxIdentificationNumber = invoice.IDFactura.IDEmisorFactura.NIF }; facturaWrk.SellerParty = Emisor; if (invoice.IDFactura.IDEmisorFactura.IDOtro != null) { facturaWrk.CountryCode = invoice.IDFactura.IDEmisorFactura.IDOtro.CodigoPais; facturaWrk.SellerParty.TaxIdentificationNumber = invoice.IDFactura.IDEmisorFactura.IDOtro.ID; } foreach (var pagos in invoice.Pagos) { APInvoicePayment pagoWrk = new APInvoicePayment(); pagoWrk.PaymentDate = Convert.ToDateTime(pagos.Fecha); pagoWrk.PaymentAmount = Convert.ToDecimal(pagos.Importe, Settings.DefaultNumberFormatInfo); PaymentTerms tipoPago; if (!Enum.TryParse <PaymentTerms>(pagos.Medio, out tipoPago)) { throw new InvalidOperationException($"Unknown payment term {pagos.Medio}"); } pagoWrk.PaymentTerm = tipoPago; facturaWrk.APInvoicePayments.Add(pagoWrk); } APInvoices.Add(facturaWrk); } }
/// <summary> /// Constructor clase APInvoicesQuery. /// </summary> public APInvoicesQuery() { APInvoice = new APInvoice(); }
/// <summary> /// Constructor clase ARPaymentsQuery. /// </summary> public APPaymentsQuery() { APInvoice = new APInvoice(); }