コード例 #1
0
        private void OnAlarmEventReceived(System.Object aSource, AlarmEventArgs aAlarmEventArgs)
        {
            try
            {
                //UpdateAlarmEventRow(aAlarmEventArgs.AlarmEvent);
                AlarmNode alarmProfile = _aAlarmService.GetAlarmProfile(aAlarmEventArgs.AlarmEvent.AlarmProfileId);
                if (alarmProfile != null)
                {
                    String strEventCode     = "";
                    String strAlarmDateTime = "";
                    String strDevName       = "";
                    String CamGuid          = "b42d6cf5-313d-4ff8-b49d-74c2e91124cd";
                    string strEventTemp     = alarmProfile.Name;

                    strDevName = aAlarmEventArgs.AlarmEvent.AlarmConfiguration.AlarmTrigger.ChannelName;

                    InsertLog.AddLog("MirasysVCAInterfaceService CamGuid ProfileId:" + alarmProfile.ProfileId);

                    if (alarmProfile.ProfileId != null && alarmProfile.ProfileId != "")
                    {
                        CamGuid = alarmProfile.ProfileId;
                    }


                    if (strEventTemp.Contains(strDevName))
                    {
                        strEventTemp = strEventTemp.Replace("_" + strDevName, "");
                    }

                    strEventCode = strEventTemp;// aAlarmEventArgs.AlarmEvent.AlarmConfiguration.AlarmTrigger.EventName;

                    strAlarmDateTime = Helper.ToLocalDateTime(aAlarmEventArgs.AlarmEvent.StartTime).ToString();

                    DateTime _datetime   = DateTime.Parse(strAlarmDateTime);
                    string   strDateTime = _datetime.ToUniversalTime().ToString("O");
                    var      _img        = GetImage(CamGuid, strDateTime);
                    byte[]   jpegBytes   = Convert.FromBase64String(_img);

                    InsertLog.AddLog("MirasysVCAInterfaceService Connect() before CreateVaAlert: strDevName " + strDevName + "--!--strEventCode:" + strEventCode + "--!--strAlarmDateTime:" + strAlarmDateTime + "--!--strDateTime:" + strDateTime);


                    CreateVaAlert(strDevName, strEventCode, strAlarmDateTime, jpegBytes);

                    System.Windows.Application.Current.Dispatcher.BeginInvoke(new Action(() =>
                    {
                        string strResult = strDevName + "   " + strEventCode + "    " + strAlarmDateTime;
                        MainWindow.txtResult.AppendText(strResult + "\n");
                        if (MainWindow.txtResult.LineCount > 20)
                        {
                            MainWindow.txtResult.Clear();
                        }
                    }));
                }
            }
            catch (Exception ex)
            {
                InsertLog.AddLog("MirasysVCAInterfaceService Connect() before CreateVaAlert:Exception -- " + ex.ToString());
            }
        }