/// <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); } }
/// <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)); } }
public bool GenerateXML() { bool isGenerated = false; RAD = DBConnection.ObtieneResumenAnulados(); if (RAD.Count == 0) { MS.GeneraLog.IngresoBD01($"No se obtuvieron documentos anulados de la fecha {MS.SummaryDate}"); return(false); } RAC.TOT_DOC = RAD.Count; //getDocumentName(RAC.FEC_REF.ToString("yyyy-MM-dd")); getDocumentName(Convert.ToDateTime(MS.SummaryDate).ToString("yyyy-MM-dd")); MS.getFileNames(); try { MS.GeneraLog.GeneracionXML("----- Inicio de Generación de Archivo: " + MS.XMLIFileLocation); XmlSerializer mySerializer = new XmlSerializer(typeof(VoidedDocumentsType)); XmlSerializerNamespaces ns = getNamespaces(); XmlWriterSettings setting = getSettings(); VoidedDocumentsType voi = new VoidedDocumentsType(); voi.AccountingSupplierParty = getSupplierPartyType(); voi.Signature = getSignatureType(); voi.UBLVersionID = getUBLVersionID(); voi.CustomizationID = getCustomizationID(); voi.ID = getID(); //voi.IssueDate = getIssueDate(); voi.ReferenceDate = getReferenceDate(); voi.IssueDate = getIssueDate(voi.ReferenceDate.Value); voi.VoidedDocumentsLine = getVoidedDocumentsLine(); voi.UBLExtensions = getUBLExtensions(); StringWriterWithEncoding iso88591StringWriter = new StringWriterWithEncoding(ISO_8859_1); XmlSerializer serializer = new XmlSerializer(typeof(VoidedDocumentsType)); XmlWriter writerx = XmlWriter.Create(iso88591StringWriter, setting); serializer.Serialize(writerx, voi, ns); XMLI = iso88591StringWriter.ToString(); XMLI = XMLI.Replace("<", "<"); XMLI = XMLI.Replace(">", ">"); XMLI = XMLI.Replace("&", "&"); using (StreamWriter sw = new StreamWriter(MS.XMLIFileLocation, false, ISO_8859_1)) { sw.Write(XMLI); } SXMLI = GenerateStreamFromString(XMLI); isGenerated = true; } catch (Exception ex) { MS.GeneraLog.GeneracionXML("Ocurrió un error al momento de generar el XML Inicial"); MS.GeneraLog.GeneracionXML("Error: " + ex.Message); } return(isGenerated); }