示例#1
0
        /// <summary>
        /// Genera un documento XML para Resumen de Reversion.
        /// </summary>
        /// <param name="voidedHeaderEntity">Entidad Voided</param>
        /// <returns>XML</returns>
        public XmlFileResult GenerarDocumentoVoided(VoidedHeader voidedHeaderEntity)
        {
            try
            {
                #region Filename
                var id          = $"RR-{DateTime.Today:yyyyMMdd}-{voidedHeaderEntity.CorrelativoArchivo}";
                var xmlFilename = voidedHeaderEntity.RucEmisor + "-" + id;
                #endregion

                #region Gen Voided
                var voidedDoc = new VoidedDocumentsType
                {
                    ID              = id,
                    ReferenceDate   = voidedHeaderEntity.FechaEmision,
                    CustomizationID = "1.0",
                    IssueDate       = DateTime.Today.Date,
                    UBLExtensions   = new[]
                    {
                        new UBLExtensionType
                        {
                            ExtensionContent = new AdditionalsInformationType()
                        },
                    },
                    Signature = UtilsXmlDoc.GetSignature(voidedHeaderEntity),
                    AccountingSupplierParty = UtilsXmlDoc.GetInfoEmisor(voidedHeaderEntity),
                    VoidedDocumentsLine     = UtilsXmlDoc.GetVoidedLines(voidedHeaderEntity.DetallesDocumento)
                };
                #endregion

                return(new XmlFileResult
                {
                    Success = true,
                    FileName = xmlFilename,
                    Content = UtilsXmlDoc.GenFile(ref _result, voidedDoc, _certificado)
                });
            }
            catch (Exception er)
            {
                _result.Success = false;
                _result.Error   = er.Message;
                _result.Target  = "XmlOtrosCeGenerator.GenerarDocumentoVoided()";
                return(null);
            }
        }
示例#2
0
        /// <summary>
        /// Genera un documento XML para Comunicacion de Baja.
        /// </summary>
        /// <param name="voidedHeaderEntity">Entidad Voided</param>
        /// <returns>Retorna el XML generado.</returns>
        public XmlFileResult GenerarDocumentoVoided(VoidedHeader voidedHeaderEntity)
        {
            try
            {
                #region Filename
                var id          = $"RA-{DateTime.Today:yyyyMMdd}-{voidedHeaderEntity.CorrelativoArchivo}";
                var xmlFilename = voidedHeaderEntity.RucEmisor + "-" + id;
                #endregion

                #region Gen Voided
                var voidedDoc = new VoidedDocumentsType
                {
                    ID              = id,
                    ReferenceDate   = voidedHeaderEntity.FechaEmision,
                    CustomizationID = "1.0",
                    IssueDate       = DateTime.Today.Date,
                    UBLExtensions   = new[]
                    {
                        new UBLExtensionType
                        {
                            ExtensionContent = new AdditionalsInformationType()
                        },
                    },
                    Signature = UtilsXmlDoc.GetSignature(voidedHeaderEntity),
                    AccountingSupplierParty = UtilsXmlDoc.GetInfoEmisor(voidedHeaderEntity),
                    VoidedDocumentsLine     = UtilsXmlDoc.GetVoidedLines(voidedHeaderEntity.DetallesDocumento)
                };
                #endregion

                return(FromDocument(voidedDoc, xmlFilename));
            }
            catch (Exception ex)
            {
                return(FromException(ex));
            }
        }