Exemplo n.º 1
0
 /// <summary>
 /// Конструктор
 /// </summary>
 /// <param name="intervalOfDel">
 /// Интервал чистки (мс)
 /// </param>
 /// <param name="dataBaseModul">
 /// Ссылка на основной модуль
 /// </param>
 public ControllerRecordInDataBase(int intervalOfDel, DellRecords dellRecords)
 {
     tm = new TimerCallback(Callback);
     if (intervalOfDel == 60000)
     {
         intervalOfDel = 60000; //Чаще не безопасно
     } //Что бы часто не вызывалась чистка
     timer = new Timer(tm, null, intervalOfDel, intervalOfDel);
     _dellRecords = dellRecords;
 }
Exemplo n.º 2
0
        /// <summary>
        /// Конструктор создает и запускает модуль
        /// </summary>
        /// <param name="maxItemInDB">
        /// Максимально допустимое кол-во записей в таблицах БД (0 - default = 1000000)
        /// </param>
        /// <param name="lifeTimeDataInDB">
        /// Максимально время хранения записи в БД в днях (0 - default = 365)
        /// </param>
        /// <param name="intervalClearDataInBD">
        /// Интервал проверки и очистки данных в БД в мс (0 - default = 3600000 мс(1час))
        /// </param>
        /// /// <param name="pageSizeMax">
        /// Количество записей на листе в UI (0 - default = 100)
        /// </param>
        /// <param name="connectionString">
        /// Строка подключения (null - default)
        /// </param>
        public Modul(int maxItemInDB, int lifeTimeDataInDB, int intervalClearDataInBD, int pageSizeMax, string connectionString)
        {
            if (maxItemInDB != 0)
            {
                _maxItemInDB = maxItemInDB;
            }
            if (lifeTimeDataInDB != 0)
            {
                _lifeTimeDataInDB = lifeTimeDataInDB;
            }
            if (intervalClearDataInBD != 0)
            {
                _intervalClearDataInBD = intervalClearDataInBD;
            }
            if (pageSizeMax != 0)
            {
                _pageSizeMax = pageSizeMax;
            }
            if (String.IsNullOrEmpty(connectionString))
            {
                _connectionString = connectionString;
                _dbConnect = new DbConnect(connectionString);
            }
            else
            {
                _dbConnect = new DbConnect();
            }
            _controlProperty = new ListProperty();
            _addRecord = new AddRecord();
            _selectRecord = new SelectRecord();
            _dellRecords = new DellRecords(maxCount: _maxItemInDB, lifeTimeInDays: _lifeTimeDataInDB);
            _controllerRecordInDataBase = new ControllerRecordInDataBase(intervalOfDel: _intervalClearDataInBD, dellRecords: this._dellRecords);

            //Подпись на события
            ViewModel.Event.NotifyRefresh += GetEvantAsync;
            ViewModel.Alarm.NotifyRefresh += GetAlarmAsync;
            ViewModel.Alarm.NotifyConfirm += ConfirmAlarm;
            ViewModel.Exception.NotifyRefresh += GetExceptAsync;
        }