/// <summary> /// Загрузить базу данных /// </summary> /// <param name="provider">Класс реализующий сервисные функции работы с базой данных</param> /// <returns>Состояние базы данных после выполнение операции загрузки БД</returns> public static DataBaseState LoadDB(DataBaseProvider provider) { if (provider != null) { switch (State) { case DataBaseState.Loaded: throw new InvalidOperationException("Не допустимая операция. Перез загрузкой БД, необходимо завершить работу с текущей."); case DataBaseState.Unloaded: case DataBaseState.Default: parameters.Clear(); try { DataBaseParameter[] parames = provider.Parameters; if (parames != null) { foreach (DataBaseParameter parameter in parames) { if (parameter != null) { parameters.Insert(parameter); } } _provider = provider; measuring = t_measuring.Virtualize(provider.Adapter); } State = DataBaseState.Loaded; return(State); } catch (Exception ex) { throw new Exception(ex.Message, ex); } default: break; } } return(DataBaseState.Default); }
protected ReaderWriterLockSlim t_slim; // синхронизатор таймера #endregion Fields #region Constructors /// <summary> /// Инициализирует новый экземпляр класса /// </summary> public DataBaseManager() { state = DBState.Default; adapter = new DataBaseAdapter(".", "", "sa", ""); provider = new DataBaseProvider(adapter); saver = new DataBaseSaver(); is_valid = false; timer = new Timer(TimerCallback, null, 0, 5000); slim = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion); t_slim = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion); DataBase.Initialize(); }
/// <summary> /// Инициализирует новый экземпляр класса /// </summary> public DataBaseManager() { state = DBState.Default; adapter = new DataBaseAdapter(".", "", "sa", ""); provider = new DataBaseProvider(adapter); saver = new DataBaseSaver(); is_valid = false; timer = new Timer(TimerCallback, null, 0, 5000); slim = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion); t_slim = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion); DataBase.Initialize(); }
/// <summary> /// Загрузить базу данных /// </summary> /// <param name="provider">Класс реализующий сервисные функции работы с базой данных</param> /// <returns>Состояние базы данных после выполнение операции загрузки БД</returns> public static DataBaseState LoadDB(DataBaseProvider provider) { if (provider != null) { switch (State) { case DataBaseState.Loaded: throw new InvalidOperationException("Не допустимая операция. Перез загрузкой БД, необходимо завершить работу с текущей."); case DataBaseState.Unloaded: case DataBaseState.Default: parameters.Clear(); try { DataBaseParameter[] parames = provider.Parameters; if (parames != null) { foreach (DataBaseParameter parameter in parames) { if (parameter != null) { parameters.Insert(parameter); } } _provider = provider; measuring = t_measuring.Virtualize(provider.Adapter); } State = DataBaseState.Loaded; return State; } catch (Exception ex) { throw new Exception(ex.Message, ex); } default: break; } } return DataBaseState.Default; }