private void OnSave()
        {
            try
            {
                business.AddOrUpdateAlarmappGroup(alarmappGroup);

                OnClose();
            }
            catch (Exception ex)
            {
                Logger.WriteError(MethodBase.GetCurrentMethod(), ex);
                MessageBox.Show("Leider ist ein Fehler aufgetreten:\r\n" + ex.Message, MessageBoxButton.OK,
                                MessageBoxImage.Error);
            }
        }
Exemple #2
0
        public bool Refresh(string apiToken, string organisationId)
        {
            try
            {
                if (string.IsNullOrEmpty(apiToken))
                {
                    Logger.WriteDebug(MethodBase.GetCurrentMethod(), "apiToken not set");
                    return(false);
                }

                if (string.IsNullOrEmpty(organisationId))
                {
                    Logger.WriteDebug(MethodBase.GetCurrentMethod(), "organisationId not set");
                    return(false);
                }

                _apiService = new AlarmappApiService(apiToken);

                //Check departments and alarmgroups
                var _alarmgroupsResult = _apiService.GetAlarmgroups(organisationId);
                if (_alarmgroupsResult == null)
                {
                    Logger.WriteDebug(MethodBase.GetCurrentMethod(), "GetAlarmgroups -> fail");
                    return(false);
                }

                //Check alarmgroups
                var dbDepartment = _business.GetAlarmappDepartmentById(organisationId);
                if (dbDepartment == null)
                {
                    Logger.WriteDebug(MethodBase.GetCurrentMethod(), $"add new department -> {organisationId}");
                    dbDepartment = new AlarmappDepartment();
                    dbDepartment.DepartmentId   = organisationId;
                    dbDepartment.DepartmentName = organisationId; //we dont get a name at the moment
                    dbDepartment = _business.AddOrUpdateAlarmappDepartment(dbDepartment);
                }

                //dbDepartment.DepartmentName = department.name;
                _business.AddOrUpdateAlarmappDepartment(dbDepartment);

                foreach (var alarmgroup in _alarmgroupsResult)
                {
                    var dbGroup = _business.GetAlarmappGroupByGroupId(alarmgroup.id);
                    if (dbGroup == null)
                    {
                        Logger.WriteDebug(MethodBase.GetCurrentMethod(), $"add new alarmgroup -> {alarmgroup.name}");
                        dbGroup            = new AlarmappGroup();
                        dbGroup.Department = dbDepartment;
                        dbGroup.GroupId    = alarmgroup.id;
                        dbGroup.GroupName  = alarmgroup.name;
                        dbGroup            = _business.AddOrUpdateAlarmappGroup(dbGroup);
                    }

                    dbGroup.GroupName = alarmgroup.name;
                    _business.AddOrUpdateAlarmappGroup(dbGroup);
                }

                Settings.Default.Alarmapp_ApiToken       = apiToken;
                Settings.Default.Alarmapp_OrganisationId = organisationId;
                Settings.Default.Save();

                Logger.WriteDebug(MethodBase.GetCurrentMethod(), "Refresh -> OK");
                return(true);
            }
            catch (Exception ex)
            {
                ExceptionOccured.RaiseEvent(this, new ExceptionEventArgs
                {
                    Methode = MethodBase.GetCurrentMethod(),
                    Error   = ex
                });
                return(false);
            }
        }