示例#1
0
        protected override FacturaRechazada Rechazar(string rejectionMessage)
        {
            FacturaRechazada rechazada = new FacturaRechazada(rejectionMessage)
            {
                TipoFactura    = TipoFactura,
                MailMessageID  = MailMessageID,
                UBLVersion     = UBLVersion,
                CUFE           = CUFE,
                NumFactura     = NumFactura,
                Proveedor      = Proveedor,
                Observaciones  = Observaciones,
                Cliente        = Cliente,
                ControlFactura = ControlFactura,
                OrigenFactura  = OrigenFactura,
                FechaEmision   = FechaEmision,
                HoraEmision    = HoraEmision,
                TipoMoneda     = TipoMoneda,
                PST            = PST,
                TotalFactura   = TotalFactura,
                BaseGravable   = BaseGravable,
                TaxesInfo      = TaxesInfo,
                Items          = Items,
            };

            return(rechazada);
        }
示例#2
0
        protected override FacturaRechazada Rechazar(string rejectionMessage)
        {
            FacturaRechazada rechazada = base.Rechazar(rejectionMessage);

            rechazada.FechaVencimiento = FechaVencimiento;
            rechazada.NumOrdenCompra   = NumOrdenCompra;
            return(rechazada);
        }
示例#3
0
        public static Factura Create(string xmlFile, string mailMessageID, string pathTemp, List <string> nits)
        {
            Factura   factura = null;
            XDocument xdoc    = null;

            try
            {
                if (File.Exists(xmlFile))
                {
                    xdoc = XDocument.Load(xmlFile);
                    //string rootName = xdoc.Root.Name.LocalName;
                    string rootNamespaceName = xdoc.Root.Name.NamespaceName;

                    switch (rootNamespaceName)
                    {
                    case V1_NAMESPACE:
                        factura = new FacturaV1();
                        break;

                    case V2A_NAMESPACE:
                        factura = new FacturaV2A();
                        break;

                    case CONTAINER_NAMESPACE:
                        factura = new Contenedor();
                        break;

                    default:
                        factura = new FacturaRechazada("Namespace de la factura no identificado");
                        break;
                    }

                    if (factura.TipoFactura == VersionFactura.V1 || factura.TipoFactura == VersionFactura.V2A)
                    {
                        string rejectionMessage = string.Empty;
                        if (!factura.GetDataFactura(xdoc, pathTemp, nits, out rejectionMessage))
                        {
                            factura = factura.Rechazar(rejectionMessage);
                        }
                    }

                    factura.MailMessageID = mailMessageID;
                    return(factura);
                }
                else
                {
                    throw new Exception($"El archivo: {xmlFile} no existe");
                }
            }
            catch (Exception ex)
            {
                //factura = new FacturaRechazada($"{ex.Message}\n{ex.ToString()}");
                //factura.MailMessageID = mailMessageID;
                //return factura;
                throw ex;
            }
        }