Ejemplo n.º 1
0
        /// <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);
            }
        }
Ejemplo n.º 2
0
        /// <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);
            }
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Constructor clase APInvoicesQuery.
 /// </summary>
 public APInvoicesQuery()
 {
     APInvoice = new APInvoice();
 }
Ejemplo n.º 4
0
 /// <summary>
 /// Constructor clase ARPaymentsQuery.
 /// </summary>
 public APPaymentsQuery()
 {
     APInvoice = new APInvoice();
 }