Ejemplo n.º 1
0
        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) { }
        }
Ejemplo n.º 2
0
        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");
        }