public async Task UnlockAllWorkstationsAsync(string userEmail) { var state = await _appSettingsService.GetAlarmStateAsync(); if (state != null && !state.IsAlarm) { return; } if (string.IsNullOrWhiteSpace(userEmail)) { throw new ArgumentNullException(nameof(userEmail)); } var alarmState = new AlarmState { IsAlarm = false, AdminName = userEmail, Date = DateTime.UtcNow }; await _appSettingsService.SetAlarmStateAsync(alarmState); foreach (var workstationConnection in _workstationConnections) { await workstationConnection.Value.SetAlarmState(false); } }
private async Task ValidateConnectionAsync() { // Check workstation approving var approved = await _workstationService.CheckIsApprovedAsync(GetWorkstationId()); if (!approved) { throw new HideezException(HideezErrorCode.HesWorkstationNotApproved); } // Check alarm enabling var alarmState = await _appSettingsService.GetAlarmStateAsync(); if (alarmState != null && alarmState.IsAlarm) { throw new HideezException(HideezErrorCode.HesAlarm); } }