public static void Init(string path) { _path = path; if (_path[_path.Length - 1] != '/' && _path[_path.Length - 1] != '\\') { _path = _path + "/"; } // Инициирование системного лога проекта Тургунда InitLog(out turlog, _path + "logs/turlog.txt", true); turlog("OpenArchive initiating... path=" + path); _config = XElement.Load(_path + "config.xml"); string connectionstring = _config.Element("database").Attribute("connectionstring").Value; // Инициируем движок storage = new DStorage(); storage.Init(_config); if (connectionstring.StartsWith("xml:")) { _engine = new XmlDbAdapter(); } else if (connectionstring.StartsWith("polar:")) { connectionstring = connectionstring.Substring("polar:".Length); //_engine = new sema2012m.PolarBasedAdapter(connectionstring); } else { throw new Exception("Unknown engine: " + connectionstring); } storage.InitAdapter(_engine); // Присоединимся к кассетам через список из конфигуратора (это надо перенести в загрузочную часть) try { storage.LoadFromCassettesExpress(); } catch (Exception ex) { turlog("Error while OpenArchive initiating: " + ex.Message); return; } // Попытка вычислить константы //try { CalculateConstants(); } //catch (Exception ex) { } }
public static void Init(string pth) { path = pth + "/"; XElement xconfig = XElement.Load(path + "config.xml"); storage = new DStorage(); storage.Init(xconfig); engine = new XmlDbAdapter(); storage.InitAdapter(engine); //// Загрузка профиля и онтологии //appProfile = XElement.Load(path + "wwwroot/ApplicationProfile.xml"); //XElement ontology = XElement.Load(path + "wwwroot/ontology_iis-v12-doc_ruen.xml"); //Models.Common.formats = appProfile.Element("formats"); //Models.Common.LoadOntNamesFromOntology(ontology); //Models.Common.LoadInvOntNamesFromOntology(ontology); storage.LoadFromCassettesExpress(); // Штатно, это выполняется по специальному запросу LoadFromCassettesExpress(), такой вариант годится для динамического формирования базы данных, напр. движком engine = new XmlDbAdapter(); //storage.SaveDb("C:/Home/syp_db.xml"); }