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); } }
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); } }