Beispiel #1
0
        private void decoderService_MessagePagerReceived(object sender, PagerMessageEventArgs e)
        {
            if (e == null || e.Pager == null)
            {
                return;
            }

            var _pagerVM = new PagerViewModel
            {
                Time       = e.Time,
                Identifier = e.Pager.Identifier,
                Name       = e.Pager.Name,
                Priority   = e.Pager.Priority
            };

            if (Settings.Default.Pagers_InsertItem)
            {
                PagerMessages.Insert(0, _pagerVM);
            }
            else
            {
                PagerMessages.Add(_pagerVM);
            }

            RaisePropertyChanged(() => PagerMessages);
        }
Beispiel #2
0
        private void decoderService_PagerMessageReceived(object sender, PagerMessageEventArgs e)
        {
            if (e == null || _recordState == RecordState.RequestedStop)
            {
                return;
            }

            try
            {
                Logger.WriteDebug(MethodBase.GetCurrentMethod(), $"Pager-Message({e.Identifier})");

                if (_einsatz == null)
                {
                    _einsatz = new Einsatz(App.Path_Record);
                    Logger.WriteDebug(MethodBase.GetCurrentMethod(), "Create new einsatz");

                    startRecording();
                }

                _einsatz.AddPager(e);

                timerAlarmEnd_Reset();
            }
            catch (Exception ex)
            {
                ExceptionOccured.RaiseEvent(this, new ExceptionEventArgs
                {
                    Methode = MethodBase.GetCurrentMethod(),
                    Error   = ex
                });
            }
        }
Beispiel #3
0
        private void decoderService_PagerMessageReceived(object sender, PagerMessageEventArgs e)
        {
            if (e == null || e.Pager == null)
            {
                return;
            }

            if (_apiService == null)
            {
                return;
            }

            Task.Factory.StartNew(() =>
            {
                try
                {
                    Logger.WriteDebug(MethodBase.GetCurrentMethod(), $"Pager-Message({e.Identifier})");
                }
                catch (Exception ex)
                {
                    ExceptionOccured.RaiseEvent(this, new ExceptionEventArgs
                    {
                        Methode = MethodBase.GetCurrentMethod(),
                        Error   = ex
                    });
                }
            });
        }
Beispiel #4
0
        public void AddPager(PagerMessageEventArgs _pagerMessage)
        {
            //Add schleife only if not already
            if (PagerMessages.Where(z => z.Identifier == _pagerMessage.Identifier).FirstOrDefault() != null ||
                _pagerMessage.Pager == null)
            {
                return;
            }

            PagerMessages.Add(_pagerMessage);
        }
Beispiel #5
0
        private void decoderService_PagerMessageReceived(object sender, PagerMessageEventArgs e)
        {
            if (e == null || e.Pager == null)
            {
                return;
            }

            if (Settings.Default.Monitor_WakeupAlarmTime.TotalSeconds > 0)
            {
                _timePagerElapsed = DateTime.Now.Add(Settings.Default.Monitor_WakeupAlarmTime);
            }
        }
        private void pagerMessageReceived(string _identifier, string _message)
        {
            //Check if params are valid
            if (string.IsNullOrEmpty(_identifier))
            {
                return;
            }

            //Check if message locked
            var _pagerMessage =
                _pagerMessages.Where(z => z.Identifier == _identifier).FirstOrDefault();

            if (_pagerMessage != null)
            {
                return;
            }

            //Create EventArg
            var _arg = new PagerMessageEventArgs(_identifier, _message);

            _pagerMessages.Add(_arg);

            //Query Database
            var _pager = _business.GetPagerByIdentifier(_identifier);

            if (_pager != null)
            {
                //Set database object
                _arg.Pager = _pager;

                //Execute App or Sound
                Task.Factory.StartNew(() =>
                {
                    if (!string.IsNullOrWhiteSpace(_pager.File))
                    {
                        Logger.WriteDebug(MethodBase.GetCurrentMethod(), $"Execute -> {_pager.File}");
                        Execute.SoundOrApp(_pager.File);
                    }
                });
            }

            //Raise Event
            PagerMessageReceived.RaiseEvent(this, _arg);
        }
Beispiel #7
0
        private void decoderService_PagerMessageReceived(object sender, PagerMessageEventArgs e)
        {
            if (e == null || e.Pager == null)
            {
                return;
            }

            if (_apiService == null)
            {
                return;
            }

            timerAlarmEnd_Reset();

            Task.Factory.StartNew(() =>
            {
                try
                {
                    Logger.WriteDebug(MethodBase.GetCurrentMethod(), $"Pager-Message({e.Identifier})");

                    if (!_currentPagerList.Contains(e.Pager))
                    {
                        _currentPagerList.Add(e.Pager);
                    }

                    if (e.Pager.AlarmappGroups?.Count == 0 && string.IsNullOrEmpty(_currentAlarmId))
                    {
                        return;
                    }

                    var alarmDto         = new AlarmDto();
                    alarmDto.Alarm.Title = "EINSATZ";

                    // add alarmgroups to dto
                    foreach (var group in e.Pager.AlarmappGroups)
                    {
                        alarmDto.Groups.Add(group.GroupId);
                    }

                    // add text to dto
                    alarmDto.Alarm.AlarmDetails.Texts = new List <string>();
                    foreach (var pager in _currentPagerList)
                    {
                        alarmDto.Alarm.AlarmDetails.Texts.Add($"{pager.Identifier} - {pager.Name}");
                    }

                    //Send alarm to backend
                    Logger.WriteDebug(MethodBase.GetCurrentMethod(), $"create alarm -> {alarmDto}");

                    if (string.IsNullOrEmpty(_currentAlarmId))
                    {
                        var _alarmResult = _apiService.CreateAlarm(alarmDto);
                        if (_alarmResult == null || string.IsNullOrEmpty(_alarmResult.alarm_id))
                        {
                            Logger.WriteDebug(MethodBase.GetCurrentMethod(), "create alarm -> ERROR");
                            return;
                        }

                        _currentAlarmId = _alarmResult.alarm_id;
                        Logger.WriteDebug(MethodBase.GetCurrentMethod(), $"create alarm -> alarmId[{_currentAlarmId}]");
                    }
                    else
                    {
                        var _alarmResult = _apiService.UpdateAlarm(_currentAlarmId, alarmDto);
                        if (_alarmResult == null || string.IsNullOrEmpty(_alarmResult.alarm_id))
                        {
                            Logger.WriteDebug(MethodBase.GetCurrentMethod(), "update alarm -> ERROR");
                            return;
                        }

                        Logger.WriteDebug(MethodBase.GetCurrentMethod(), $"update alarm -> alarmId[{_currentAlarmId}]");
                    }
                }
                catch (Exception ex)
                {
                    ExceptionOccured.RaiseEvent(this, new ExceptionEventArgs
                    {
                        Methode = MethodBase.GetCurrentMethod(),
                        Error   = ex
                    });
                }
            });
        }