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); }
protected override FacturaRechazada Rechazar(string rejectionMessage) { FacturaRechazada rechazada = base.Rechazar(rejectionMessage); rechazada.FechaVencimiento = FechaVencimiento; rechazada.NumOrdenCompra = NumOrdenCompra; return(rechazada); }
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; } }