]> git.llucax.com Git - z.facultad/75.10/miklolife.git/blobdiff - demo/src/Reportes/InfoPrestacionesReport.cs
mejores busquedas
[z.facultad/75.10/miklolife.git] / demo / src / Reportes / InfoPrestacionesReport.cs
index f454c701185b806a43683eca1298fc0f7236b453..a127f1c34ea28d5295fb9b3f5d929163c688342d 100644 (file)
@@ -1,10 +1,20 @@
+#region Usings\r
+\r
 using System;\r
 using System.Collections;\r
 using System.Xml;\r
 using System;\r
 using System.Collections;\r
 using System.Xml;\r
+using System.Xml.Schema;\r
 using System.Globalization;\r
 using System.Globalization;\r
+using System.IO;\r
+using System.Configuration;\r
+\r
+using System.Reflection;\r
+\r
+#endregion Usings\r
 \r
 namespace Reportes\r
 {\r
 \r
 namespace Reportes\r
 {\r
+       \r
        /// <summary>\r
        /// Clase que representa un archivo de Información de Prestaciones Realizadas enviado por el \r
        /// Prestador.\r
        /// <summary>\r
        /// Clase que representa un archivo de Información de Prestaciones Realizadas enviado por el \r
        /// Prestador.\r
@@ -100,10 +110,54 @@ namespace Reportes
 \r
                #region Métodos privados\r
 \r
 \r
                #region Métodos privados\r
 \r
+               private ArrayList _validationErrors = new ArrayList();\r
+\r
+               private void valReader_ValidationEventHandler(object sender, ValidationEventArgs e)\r
+               {\r
+                       this._validationErrors.Add( e.Message );\r
+               }\r
+\r
+               private string _xsdPathNombre = null;\r
+               private string XsdPathNombre\r
+               {\r
+                       get \r
+                       { \r
+                               if ( this._xsdPathNombre == null )\r
+                               {\r
+                                       string currentDir = Directory.GetCurrentDirectory();\r
+                                       string xsdPath = Path.Combine( currentDir, ConfigurationSettings.AppSettings["DirectorioRecursos"] );\r
+                                       if ( ! Directory.Exists(xsdPath) )\r
+                                       {\r
+                                               Directory.CreateDirectory( xsdPath );\r
+                                       }\r
+\r
+                                       return ( Path.Combine( xsdPath, "infoPrestaciones_schema.xsd" ) );\r
+                               }\r
+                               else\r
+                                       return this._xsdPathNombre;\r
+                       }\r
+               }\r
+\r
                private bool ValidarContraSchema( XmlDocument xmlDoc )\r
                {\r
                private bool ValidarContraSchema( XmlDocument xmlDoc )\r
                {\r
-                       #warning Seguir acá\r
-                       return true;\r
+                       this._validationErrors.Clear();\r
+\r
+                       NameTable nt = new NameTable();\r
+                       XmlNamespaceManager nm = new XmlNamespaceManager( nt );\r
+                       XmlParserContext pc = new XmlParserContext( null, nm, null, XmlSpace.None );\r
+\r
+                       XmlValidatingReader valReader = new XmlValidatingReader( xmlDoc.OuterXml, XmlNodeType.Element, pc );\r
+\r
+                       valReader.Schemas.Add( string.Empty, this.XsdPathNombre );\r
+                       valReader.ValidationType = ValidationType.Schema;\r
+\r
+                       valReader.ValidationEventHandler += new ValidationEventHandler(valReader_ValidationEventHandler);\r
+\r
+                       while (valReader.Read()) { }\r
+\r
+                       valReader.Close();\r
+\r
+                       return (this._validationErrors.Count == 0) ;\r
                }\r
 \r
                /// <summary>\r
                }\r
 \r
                /// <summary>\r