Beispiel #1
0
        public Task OpenAsync()
        {
            return(_scheduler.StartNew(() =>
            {
                try
                {
                    var databasePath = Path.Combine(Constants.ApplicationData, "Storage.db");
                    Log.InfoFormat("Opening alarm database '{0}'...", databasePath);

                    Directory.CreateDirectory(Constants.ApplicationData);
                    _database = Database.OpenOrCreate(databasePath, new[] { typeof(Alarm), typeof(Device2) });
                    _alarms = _database.GetDictionary <Guid, Alarm>("Alarms");
                    _devices = _database.GetDictionary <Guid, Device2>("Devices");

                    Log.InfoFormat("Alarm database opened!");
                }
                catch (Exception e)
                {
                    Log.FatalFormat("Unable to open alarm database: {0}", e);
                }
            }));
        }