Ejemplo n.º 1
0
        // Incoming request
        public async Task <HesResponse> RegisterWorkstationInfo(WorkstationInfoDto workstationInfo)
        {
            try
            {
                // Add or Update workstation info
                await _remoteWorkstationConnectionsService.RegisterWorkstationInfoAsync(Clients.Caller, workstationInfo);

                // Update alarm trigger if client was offline
                if (workstationInfo.IsAlarmTurnOn && !await _appSettingsService.GetAlarmEnabledAsync())
                {
                    await Clients.Caller.SetAlarmState(false);
                }

                await ValidateConnectionAsync();

                return(HesResponse.Ok);
            }
            catch (HideezException ex)
            {
                _logger.LogInformation($"[{workstationInfo?.MachineName}] {ex.Message}");
                return(new HesResponse(ex));
            }
            catch (Exception ex)
            {
                _logger.LogError($"[{workstationInfo?.MachineName}] {ex.Message}");
                return(new HesResponse(ex));
            }
        }