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();
        }