Example #1
0
        public AlarmappGroup AddOrUpdateAlarmappGroup(AlarmappGroup _entity)
        {
            if (_entity == null || !_entity.IsValid)
            {
                new ArgumentNullException("AlarmappGroup");
            }

            using (var _databaseContext = new DatabaseContext())
            {
                _entity = _databaseContext.UpdateGraph(_entity,
                                                       map => map.AssociatedCollection(a => a.Pagers).AssociatedCollection(a => a.Vehicles)
                                                       .AssociatedEntity(a => a.Department));

                _databaseContext.SaveChanges();
                return(_entity);
            }
        }
        public SettingsAlarmappViewModel(IBusiness _business, int _id)
        {
            try
            {
                business = _business;

                //Query lists for selection
                VehicleList = new ObservableCollection <Vehicle>(business.GetAllVehicleAsync().Result);
                PagerList   = new ObservableCollection <Pager>(business.GetAllPagerAsync().Result);

                //Query item with relations
                alarmappGroup = business.GetAlarmappGroupById(_id);
                if (alarmappGroup == null)
                {
                    alarmappGroup = new AlarmappGroup();
                }

                //Do selection from list
            }
            catch (Exception ex)
            {
                Logger.WriteError(MethodBase.GetCurrentMethod(), ex);
            }
        }
Example #3
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);
            }
        }