private static XmlDocument GenerateLoginTicketRequestXML(LoginTicketRequests loginTicketRequest) { XmlQualifiedName qualifiedName = new XmlQualifiedName(loginTicketRequestNodeName); //TODO: SACAR EL hardcode del XSD //XMLGenerator generator = new XMLGenerator(@"C:\Vero\Proyectos\MFD\MFDHOMO\MFD\LoginTicketRequest.xsd", qualifiedName); XMLGenerator generator = new XMLGenerator(AppDomain.CurrentDomain.BaseDirectory + @"LoginTicketRequest.xsd", qualifiedName); Stream xmlStream = new MemoryStream(); XmlTextWriter writer = new XmlTextWriter(xmlStream, Encoding.UTF8); writer.Formatting = Formatting.Indented; generator.WriteXml(writer); XmlDocument document = new XmlDocument(); xmlStream.Seek(0, SeekOrigin.Begin); XmlReader reader = new XmlTextReader(xmlStream); document.Load(reader); reader.Close(); writer.Close(); xmlStream.Close(); xmlStream.Dispose(); XmlElement headerNode = document[loginTicketRequestNodeName][HeaderNodeName]; headerNode[SourceNodeName].InnerText = loginTicketRequest.Empresa.DNOrigen; headerNode[DestinationNodeName].InnerText = loginTicketRequest.Empresa.DNDestino; //TODO: ver cual debe ser el loginTicketRequest.Id headerNode[UniqueIDNodeName].InnerText = loginTicketRequest.Id.ToString(); headerNode[GenerationTimeNodeName].InnerText = XmlConvert.ToString(loginTicketRequest.GenerationTime, XmlDateTimeSerializationMode.RoundtripKind); headerNode[ExpirationTimeNodeName].InnerText = XmlConvert.ToString(loginTicketRequest.ExpirationTime, XmlDateTimeSerializationMode.RoundtripKind); document[loginTicketRequestNodeName][ServiceNodeName].InnerText = "wsfe"; return(document); }
public static XmlDocument GenerateLoginTicketRequestXML(LoginTicketRequests loginTicketRequest) { const string loginTicketRequestNodeName = "loginTicketRequest"; const string HeaderNodeName = "header"; const string ServiceNodeName = "service"; const string SourceNodeName = "source"; const string DestinationNodeName = "destination"; const string UniqueIDNodeName = "uniqueId"; const string GenerationTimeNodeName = "generationTime"; const string ExpirationTimeNodeName = "expirationTime"; XmlQualifiedName qualifiedName = new XmlQualifiedName(loginTicketRequestNodeName); //TODO: SACAR EL hardcode del XSD XMLGenerator generator = new XMLGenerator("LoginTicketRequest.xsd", qualifiedName); Stream xmlStream = new MemoryStream(); XmlTextWriter writer = new XmlTextWriter(xmlStream, Encoding.UTF8); writer.Formatting = Formatting.Indented; generator.WriteXml(writer); XmlDocument document = new XmlDocument(); xmlStream.Seek(0, SeekOrigin.Begin); XmlReader reader = new XmlTextReader(xmlStream); document.Load(reader); reader.Close(); writer.Close(); xmlStream.Close(); xmlStream.Dispose(); XmlElement headerNode = document[loginTicketRequestNodeName][HeaderNodeName]; headerNode[SourceNodeName].InnerText = loginTicketRequest.Empresa.DNOrigen; headerNode[DestinationNodeName].InnerText = loginTicketRequest.Empresa.DNDestino; //TODO: ver cual debe ser el loginTicketRequest.Id headerNode[UniqueIDNodeName].InnerText = loginTicketRequest.Id.ToString(); headerNode[GenerationTimeNodeName].InnerText = XmlConvert.ToString(loginTicketRequest.GenerationTime, XmlDateTimeSerializationMode.RoundtripKind); headerNode[ExpirationTimeNodeName].InnerText = XmlConvert.ToString(loginTicketRequest.ExpirationTime, XmlDateTimeSerializationMode.RoundtripKind); document[loginTicketRequestNodeName][ServiceNodeName].InnerText = "wsfe"; return(document); }
public XmlDocument GenerarXml() { #region constants const string Comprobante = "comprobante"; const string Cabecera = "cabecera"; const string Detalle = "detalle"; const string Resumen = "resumen"; #endregion XmlQualifiedName qualifiedName = new XmlQualifiedName("factura"); XMLGenerator generator = new XMLGenerator("Factura_v1.22.xsd", qualifiedName); Stream xmlStream = new MemoryStream(); XmlTextWriter writer = new XmlTextWriter(xmlStream, Encoding.GetEncoding("iso-8859-1")); writer.Formatting = Formatting.Indented; generator.WriteXml(writer); XmlDocument document = new XmlDocument(); xmlStream.Seek(0, SeekOrigin.Begin); XmlReader reader = new XmlTextReader(xmlStream); document.Load(reader); reader.Close(); writer.Close(); xmlStream.Close(); xmlStream.Dispose(); //document.InsertAfter(document.CreateProcessingInstruction("xml-stylesheet", "type=\"text/xsl\" href=\"../../Factura_v1.22.xsl\""), document.ChildNodes[0]);/*Lote_Factura_Response_v1.0.xsl*/ document.InsertAfter(document.CreateProcessingInstruction("xml-stylesheet", "type=\"text/xsl\" href=\"Factura_v1.22.xsl\""), document.ChildNodes[0]); CargarDatosCabecera(document[Comprobante][Cabecera]); CargarDatosDetalle(document[Comprobante][Detalle]); CargarDatosResumen(document[Comprobante][Resumen]); XmlNode nodoLogo = document.CreateNode(XmlNodeType.Element, "string", "logo", ""); XmlNode nodoUrl = document.CreateNode(XmlNodeType.Element, "url", ""); CargarDatosExtensiones(document[Comprobante]["extensiones"], nodoLogo, nodoUrl); document[Comprobante].Attributes["xmlns"].Value = ""; XmlAttribute attns = document.CreateAttribute("xmlns:tns"); attns.Value = "http://www.cace.org.ar/facturaelectronica/"; document[Comprobante].Attributes.Append(attns); XmlAttribute atxsi = document.CreateAttribute("xmlns:xsi"); atxsi.Value = "http://www.w3.org/2001/XMLSchema-instance"; document[Comprobante].Attributes.Append(atxsi); return(document); }
public XmlDocument GenerateLoginTicketRequestXML(LoginTicketRequests loginTicketRequest) { XmlQualifiedName qualifiedName = new XmlQualifiedName(LoginTicketRequestNodeName); //TODO: SACAR EL hardcode del XSD XMLGenerator generator = new XMLGenerator("LoginTicketRequest.xsd", qualifiedName); Stream xmlStream = new MemoryStream(); XmlTextWriter writer = new XmlTextWriter(xmlStream, Encoding.UTF8); writer.Formatting = Formatting.Indented; generator.WriteXml(writer); XmlDocument document = new XmlDocument(); xmlStream.Seek(0, SeekOrigin.Begin); XmlReader reader = new XmlTextReader(xmlStream); document.Load(reader); reader.Close(); writer.Close(); xmlStream.Close(); xmlStream.Dispose(); EmpresasBL empresasBL = new EmpresasBL(); empresasBL.SetParameters(DBConnection); XmlElement headerNode = document[LoginTicketRequestNodeName][HeaderNodeName]; headerNode[SourceNodeName].InnerText = loginTicketRequest.Empresa.DNOrigen; headerNode[DestinationNodeName].InnerText = loginTicketRequest.Empresa.DNDestino; headerNode[UniqueIDNodeName].InnerText = loginTicketRequest.Id.ToString(); headerNode[GenerationTimeNodeName].InnerText = XmlConvert.ToString(loginTicketRequest.GenerationTime, XmlDateTimeSerializationMode.RoundtripKind); headerNode[ExpirationTimeNodeName].InnerText = XmlConvert.ToString(loginTicketRequest.ExpirationTime, XmlDateTimeSerializationMode.RoundtripKind); document[LoginTicketRequestNodeName][ServiceNodeName].InnerText = GeneralSettings.Instance.WSNegocio; //writer = new XmlTextWriter("c:\\pepe.xml",Encoding.UTF8); //writer.Formatting = Formatting.Indented; //document.WriteTo(writer); //writer.Flush(); //writer.Close(); return(document); }