Exemple #1
0
        private static void SendInitialData()
        {
            try
            {
                LogService.Logger.Debug("Start sending init data.");
                System.Threading.Thread.Sleep(10000);

                SerialComm.SwitchComm.SendSimpleMessage(eControl.UpdateStatus);

                SerialComm.SwitchComm.SendDateTime(DateTime.Now);
                System.Threading.Thread.Sleep(800);

                if (GlobalSetting.Instance.AlarmOnSwitch)
                {
                    SerialComm.SendDayTypes();
                    System.Threading.Thread.Sleep(800);

                    SerialComm.SendAlarms();
                }

                if (GlobalSetting.Instance.UseSwitchPortForLP)
                {
                    SerialComm.SendAllResultBySwitchComm();
                }

                LogService.Logger.Debug("Finish sending init data.");
            }
            catch (Exception ex)
            {
                LogService.Logger.Error("Send init data error", ex);
            }
        }
Exemple #2
0
        void INovaAlertService.UpdateTask(int unitId, Task task, long?duration, eTaskType taskType)
        {
            var unit = _resources.UnitPhones.FirstOrDefault(u => u.Id == unitId);

            if (unit != null)
            {
                unit.Task.TaskObj = task;

                NovaAlertCommon.UpdateTask(unit.UnitPhone, duration, taskType);

                // Cap nhat bang den
                if (GlobalSetting.Instance.UseSwitchPortForLP)
                {
                    SerialComm.SendAllResultBySwitchComm(unit.UnitPhone.PhoneNumberId);
                }
                else
                {
                    SerialComm.LPComm.SendAllResults(unit.UnitPhone.PhoneNumberId);
                }

                foreach (var c in _resources.GetActiveClients())
                {
                    try
                    {
                        c.Callback.OnTaskChanged(new TaskChangedEventArgs(unitId, task));
                    }
                    catch (CommunicationObjectAbortedException ex)
                    {
                    }
                    catch (Exception ex)
                    {
                    }
                }
            }
        }
        void INovaAlertConfigService.SetAlarmConfig(bool alarmOnSwitch)
        {
            var settings = GlobalSetting.Instance;

            settings.AlarmOnSwitch = alarmOnSwitch;
            settings.Save();
            SerialComm.SwitchComm.SendAlarmConfig(settings.AlarmOnSwitch);
            if (alarmOnSwitch)
            {
                SerialComm.SendAlarms();
                SerialComm.SendDayTypes();
            }
        }
Exemple #4
0
        protected override void ProcessPresentationEvent(PresentationEventArgs e)
        {
            var msg = e.Data as MessageBase;

            switch (msg.Control)
            {
            case eControl.LineStatus:
                OnLineStatusChanged(msg as LineStatusMessageBase);
                break;

            case eControl.AllStatus:
                OnUpdateAllStatus(msg as AllStatusMessage);
                break;

            case eControl.DialCompleted:
                OnDialCompleted(msg as SimpleMessage);
                break;

            // Led Panel
            case eControl.LP_ACK:
                break;

            case eControl.LP_NAK:
                break;

            case eControl.LP_Update:
                var ack = new SimpleMessage(eControl.LP_ACK)
                {
                    TypeDest = eDevice.LedPanel, Address = msg.Address
                };
                this.Presentation.SendData(ack);

                System.Threading.Thread.Sleep(50);
                SerialComm.SendResults(this.Presentation, msg.Address, eTaskType.CTT);
                break;
            }

            this.LastReceived = DateTime.Now;
        }
 void INovaAlertConfigService.SaveAlarms(List <Alarm> list)
 {
     NovaAlertCommon.Instance.SaveAlarms(list);
     SerialComm.SendAlarms(list.Select(a => a.DayType).Distinct().ToList());
 }
 void INovaAlertConfigService.SaveDayTypes(List <DayTypeConfig> dts)
 {
     NovaAlertCommon.Instance.SaveDayTypes(dts);
     SerialComm.SendDayTypes();
 }
Exemple #7
0
 public void SendResults(byte address)
 {
     SerialComm.SendResults(this.Presentation, address, eTaskType.CTT);
 }