private DataManager() { equpmentDAO = new EquipmentDAO(); signalDAO = new SignalDAO(); helpDAO = new HelpDAO(); standardUnitMeasurementDAO = new StandardUnitMeasurementDAO(); lookupTablesDAO = new LookupTablesDAO(); documentDAO = new DocumentDAO(); schemaDAO = new SchemaDAO(); }
public void SetSchemaLocation() { if (string.IsNullOrEmpty( _schemaPath )) throw new Exception( "The Schema Path has not been set." ); var dao = new SchemaDAO(); List<DocumentBean> schemas = dao.GetSchemas(); //List<string> list = Directory.GetFiles( _schemaPath, "*.xsd" ).ToList(); //-------------------------------------// //--- Read schemas from file system ---// //-------------------------------------// //foreach (String fileName in list) foreach (DocumentBean schemaBean in schemas) { try { string fileName = Path.Combine( _schemaPath, schemaBean.documentName ); FileInfo fi = new FileInfo( fileName ); if (!fi.Exists || fi.LastWriteTime < schemaBean.dateUpdated ) //We need to test if the database was updated File.WriteAllBytes( fileName, schemaBean.documentContent ); XmlSchema myschema = XsdUtils.ReadSchema( fileName ); //XmlSchema myschema = XsdUtils.ReadSchemaFromText( Encoding.UTF8.GetString(schemaBean.documentContent)); String targetNamespace = myschema.TargetNamespace; var schemaSet = new XmlSchemaSet(); schemaSet.ValidationEventHandler += ValidationCallback; schemaSet.Add( myschema.TargetNamespace, fileName ); //schemaSet.Add(myschema); schemaSet.Compile(); if (!_schemaSets.ContainsKey( targetNamespace )) _schemaSets.Add( targetNamespace, schemaSet ); foreach (XmlSchema schema in schemaSet.Schemas()) { if (myschema.SourceUri.Equals( schema.SourceUri )) myschema = schema; } if (!_schemas.ContainsKey( myschema.TargetNamespace )) { _schemas.Add( myschema.TargetNamespace, myschema ); try { _schemaCollection.Add( myschema ); } catch (Exception e) { OnError( e.Message, e ); } } } catch (Exception e) { OnError( e.Message, e ); } } LoadSchemaItems(); }