public override void Process(ProcessRecord recordInfo)
        {
            try
            {
                recordInfo.CheckPointResult = true;

                bool AutoGate    = false;
                var  currChannel = base.getCurrChannel(recordInfo);
                if (null != currChannel)
                {
                    AutoGate = currChannel.autoGate;
                }

                //自á?动?¥开a闸?é
                if (AutoGate)
                {
                    recordInfo.AutoOpenGate = true;
                }
                else
                {
                    //如¨?果?是o?贵¨?宾à?车|ì,ê?直?à接¨?放¤?行D
                    if (recordInfo.authenticationType == enumAuthenticationType.SPECIAL_TYPE_VIP)
                    {
                        return;
                    }
                    //先¨¨查¨|找¨°订?单죤
                    ICR_ORDER_RECORD_INFO orderRecord = EngineContext.Current.Resolve <ICR_ORDER_RECORD_INFO>();
                    string Leave = base.getCurrChannel(recordInfo) == null ? recordInfo.INOUT_RECODE.CURR_PARTITION_CODE : base.getCurrChannel(recordInfo).Leave;
                    var    order = orderRecord.GetOrders(recordInfo.INOUT_RECODE).Where(x => x.PARTITION_CODE == Leave).FirstOrDefault();
                    //////////////////////////余?¨¤额?不?足á?转áa临¢¨′时o?à卡?§///////////////////////////
                    if (recordInfo.CARD_TYPE == enumCardType.CAR_TYPE_STORED)
                    {
                        if (null == recordInfo.OwnerInfo || recordInfo.OwnerInfo.balance < recordInfo.CurrNeedPay)
                        {
                            recordInfo.IsMonthToTemp = true;
                        }
                        else
                        {
                            order.ALREADY_PAID   = order.DUE_MONEY;
                            order.IS_PAY         = true;
                            recordInfo.PayMethod = enumPayMethod.STORED_PAY;
                            recordInfo.INOUT_RECODE.CHARGE_MONEY = recordInfo.INOUT_RECODE.DUE_MONEY;
                        }
                    }
                    if (recordInfo.CHANNEL_TYPE != enumChannelType.centerPayment && (null == order || order.DUE_MONEY == order.ALREADY_PAID || 0 == recordInfo.INOUT_RECODE.DUE_MONEY || recordInfo.IsFree))
                    {
                    }
                    else
                    {
                        base.TriggerEvent(enumOperaterType.ShowCharge, recordInfo, true);
                        base.WaitOne(recordInfo);
                    }
                }
            }
            catch (Exception ex)
            {
                LogHelper.Log.Error(ex.Message);
                recordInfo.CheckPointResult = false;
            }
        }
        public override void Process(ProcessRecord recordInfo)
        {
            var tempChannel = getCurrChannel(recordInfo);

            if (null != tempChannel)
            {
                if (tempChannel.autoGate || recordInfo.CARD_TYPE == enumCardType.CAR_TYPE_STORED || recordInfo.authenticationType == enumAuthenticationType.SPECIAL_TYPE_VIP || recordInfo.authenticationType == enumAuthenticationType.TEMP_VISITOR)
                {
                    recordInfo.CheckPointResult = true;
                }
                else
                {
                    if (recordInfo.CARD_TYPE == enumCardType.CAR_TYPE_TEMP)
                    {
                        Sound(recordInfo);
                        base.TriggerEvent(enumOperaterType.OpenInConfirmGate, recordInfo, true);
                        base.WaitOne(recordInfo);
                    }
                    else if (recordInfo.CARD_TYPE == enumCardType.CAR_TYPE_MONTH)
                    {
                        recordInfo.CheckPointResult = true;
                    }
                }
            }
            else
            {
                recordInfo.CheckPointResult = false;
            }
        }
 /// <summary>
 /// 流程过程中触发事件
 /// </summary>
 /// <param name="recordinfo">过程数据</param>
 /// <param name="isWaitOne">是否模态窗口</param>
 public void triggerEvent(ProcessRecord recordinfo, bool isWaitOne)
 {
     if (null != OnMessageBroadcast)
     {
         OnMessageBroadcast(recordinfo, isWaitOne);
     }
 }
示例#4
0
 private void Instance_OnMessageBroadcast(ProcessRecord recordInfo, bool isWaitOne)
 {
     if (recordInfo.OPERATER_TYPE == enumOperaterType.ShowInSideForm)
     {
         CarInSideForm form = new CarInSideForm(recordInfo.INOUT_RECODE.VEHICLE_NO);
         form.ShowDialog();
     }
     if (recordInfo.OPERATER_TYPE == enumOperaterType.CentralPayment)
     {
         CentralPaymentForm form = new CentralPaymentForm();
         form.ShowDialog();
     }
     if (recordInfo.OPERATER_TYPE == enumOperaterType.ShowChangeRoleForm)
     {
         ChangeRoleForm form = new ChangeRoleForm();
         if (isWaitOne)
         {
             form.ShowDialog();
         }
         else
         {
             form.Show();
         }
     }
 }
        /// <summary>
        /// 折扣
        /// </summary>
        /// <param name="recordInfo"></param>
        public decimal Discount(ProcessRecord recordInfo, CRPreferentialDetails details)
        {
            decimal disMoney = 1;

            decimal.TryParse(details.PREFERENTIAL_CONTENT.ToString(), out disMoney);
            return(recordInfo.INOUT_RECODE.CHARGE_MONEY * (1 - disMoney));
        }
示例#6
0
        /// <summary>
        /// 现金减免
        /// </summary>
        /// <param name="recordInfo"></param>
        public decimal Discount(ProcessRecord recordInfo, CRPreferentialDetails details)
        {
            decimal disMoney = 0;

            decimal.TryParse(details.PREFERENTIAL_CONTENT.ToString(), out disMoney);
            return(disMoney);
        }
示例#7
0
 /// <summary>
 /// 响应广播消息
 /// </summary>
 /// <param name="recordInfo"></param>
 /// <param name="isWaitOne"></param>
 private void ActiveMessage(ProcessRecord recordInfo, bool isWaitOne)
 {
     if (recordInfo.OPERATER_TYPE == enumOperaterType.FeePlugInTest)
     {
         new FeePlugInTestFrm().Show();
     }
 }
 /// <summary>
 /// 往队列中添加正式数据
 /// </summary>
 /// <param name="acceptBytes"></param>
 public void AcceptFormalData(ProcessRecord acceptBytes)
 {
     lock (AcceptDataQue)
     {
         AcceptDataQue.Enqueue(acceptBytes);
     }
 }
 public OccupyRecordInfo(ProcessRecord recordInfo)
 {
     InitializeComponent();
     _recordInfo = recordInfo;
     this.grdInOutsInfo.AutoGenerateColumns = false;
     base.Title = "车位信息列表";
 }
示例#10
0
 /// <summary>
 /// 响应广播消息
 /// </summary>
 /// <param name="recordInfo"></param>
 /// <param name="isWaitOne"></param>
 private void ActiveMessage(ProcessRecord recordInfo, bool isWaitOne)
 {
     if (recordInfo.OPERATER_TYPE == enumOperaterType.OutSuccessed || recordInfo.OPERATER_TYPE == enumOperaterType.CentralPaySuccess)
     {
         if (recordInfo.OPERATER_TYPE == enumOperaterType.CentralPaySuccess || ((recordInfo.CHANNEL_TYPE == enumChannelType.chn_out) && !recordInfo.AutoOpenGate))
         {
             //////////贵宾车不生成订单信息//////////////
             if (null != recordInfo && !recordInfo.IsCenterPay && recordInfo.PayMethod == enumPayMethod.Cash)
             {
                 this.lbChargeAmount.Text   = (Convert.ToDecimal(this.lbChargeAmount.Text) + recordInfo.INOUT_RECODE.CHARGE_MONEY).ToString("#0.00");
                 this.lbDiscountAmount.Text = (Convert.ToDecimal(this.lbDiscountAmount.Text) + recordInfo.INOUT_RECODE.PRE_MONEY).ToString("#0.00");
                 GlobalEnvironment.LocalUserInfo.DUE_MONEY = decimal.Parse(this.lbChargeAmount.Text);
                 GlobalEnvironment.LocalUserInfo.PER_MONEY = decimal.Parse(this.lbDiscountAmount.Text);
                 ICR_PARK_EXCHANGE bllRecord = EngineContext.Current.Resolve <ICR_PARK_EXCHANGE>();
                 var model = bllRecord.GetModelByAccount(GlobalEnvironment.LocalUserInfo.USER_ACCOUNT, GlobalEnvironment.LocalUserInfo.WORKSTATION_NO);
                 if (null != model)
                 {
                     model.WORK_STATUS = 0;
                     model.DUE_MONEY   = GlobalEnvironment.LocalUserInfo.DUE_MONEY;
                     model.PER_MONEY   = GlobalEnvironment.LocalUserInfo.PER_MONEY;
                     bllRecord.Update(model);
                 }
             }
         }
     }
     if (recordInfo.OPERATER_TYPE == enumOperaterType.ChangeRole)
     {
         InitPanelInfo();
     }
 }
示例#11
0
 /// <summary>
 /// 响应广播消息
 /// </summary>
 /// <param name="recordInfo"></param>
 /// <param name="isWaitOne"></param>
 private void ActiveMessage(ProcessRecord recordInfo, bool isWaitOne)
 {
     if (recordInfo.OPERATER_TYPE == enumOperaterType.OpenGate || recordInfo.OPERATER_TYPE == enumOperaterType.OutSuccessed)
     {
         BindGrd(recordInfo);
     }
 }
示例#12
0
 /// <summary>
 /// 响应广播消息
 /// </summary>
 /// <param name="recordInfo"></param>
 /// <param name="isWaitOne"></param>
 private void ActiveMessage(ProcessRecord recordInfo, bool isWaitOne)
 {
     if (recordInfo.OPERATER_TYPE == enumOperaterType.OutSuccessed)
     {
         Query();
     }
 }
        /// <summary>
        /// 发¤?é送¨a余?¨¤位?信?息?é
        /// </summary>
        public void ShowMoreThanInfo(ProcessRecord recordInfo)
        {
            LogHelper.Log.Info("发¤?é送¨a余?¨¤位?显?示o?屏¨¢命¨1令¢?:" + System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
            var           TempLate     = EngineContext.Current.Resolve <IPBA_VOICE_TEMPLATE>();
            List <string> strArr       = new List <string>();
            var           childrenList = CommHelper.GetOrgInfos(recordInfo.CHN_CODE).Where(x => x.productLine == enumProductLine.DisplayScreen).ToList();

            childrenList = CommHelper.GetOrgInfos(recordInfo.INOUT_RECODE.IN_CHANNEL_CODE).Where(x => x.productLine == enumProductLine.DisplayScreen).ToList();
            foreach (var temp in childrenList)
            {
                foreach (var info in temp.LedInfos.OrderBy(x => x.serialNo))
                {
                    StringBuilder strSB          = new StringBuilder();
                    string[]      strArrSerialNo = info.displayContent.Split(',');
                    if (!string.IsNullOrEmpty(info.displayContent))
                    {
                        foreach (string s in strArrSerialNo)
                        {
                            int SeriNo = Convert.ToInt32(s);
                            if (SeriNo == 9)
                            {
                                var strTemp = TempLate.GetModelByType((int)enumTemplateType.MODEL_TYPE_DISPLAY, SeriNo);
                                if (null != strTemp)
                                {
                                    strSB.Append(CommHelper.LedContent(strTemp.CUSTOM_MODEL, recordInfo, SeriNo));
                                }
                            }
                        }
                        strArr.Add(strSB.ToString());
                        Parking.Core.Common.CommHelper.ShowLED(temp, strArr.ToArray(), info);
                        strArr.Clear();
                    }
                }
            }
        }
示例#14
0
 /// <summary>
 /// 响应广播消息
 /// </summary>
 /// <param name="recordInfo"></param>
 /// <param name="isWaitOne"></param>
 private void ActiveMessage(ProcessRecord recordInfo, bool isWaitOne)
 {
     if (recordInfo.OPERATER_TYPE == enumOperaterType.QueryUserIfno)
     {
         new OwnerInfo().Show();
     }
 }
 /// <summary>
 /// 获?取¨?当ì?à前??通a?§道쨤
 /// </summary>
 /// <param name="recordInfo"></param>
 /// <returns></returns>
 protected Equipment getCurrChannel(ProcessRecord recordInfo)
 {
     if (null == recordInfo.CHN_CODE)
     {
         return(null);
     }
     return(GlobalEnvironment.ListOragnization.Where(x => x.ORGANIZATION_CODE == recordInfo.CHN_CODE).FirstOrDefault());
 }
 public PlateCorrectionForm(ProcessRecord record)
 {
     InitializeComponent();
     recordInfo = record;
     Initialize();
     this.carNo.Focus();
     base.Title = "车牌校正框";
 }
 /// <summary>
 /// 处理队列中的正式数据
 /// </summary>
 /// <param name="state"></param>
 public void AcceptDataWork(object state)
 {
     while (true)
     {
         try
         {
             AcceptDataEvent.WaitOne(1);
             while (AcceptDataQue.Count > 0)
             {
                 ProcessRecord msg = null;
                 lock (AcceptDataQueLock)
                 {
                     if (AcceptDataQue.Count > 0)
                     {
                         msg = AcceptDataQue.Dequeue();
                     }
                 }
                 if (msg != null)
                 {
                     var channel = EngineContext.Current.Resolve <IChannel>(msg.CHANNEL_TYPE.ToString());
                     if (null != channel)
                     {
                         ///////////////////////补抓图片//////////////////////////////////
                         if (string.IsNullOrEmpty(msg.PicFullName))
                         {
                             var channelList  = CommHelper.GetOrgInfos(msg.CHN_CODE);
                             var cameraDevice = channelList.Where(x => x.productLine == enumProductLine.IdentificationCamera && x.autoRecognition).FirstOrDefault();
                             if (null != cameraDevice)
                             {
                                 var cameraSDK = EngineContext.Current.Resolve <ICamera>(cameraDevice.deviceType.ToString());
                                 if (null != cameraSDK)
                                 {
                                     string strPicName = string.Empty;
                                     cameraSDK.CapturePicture(cameraDevice.IP, out strPicName);
                                     msg.PicFullName = strPicName;
                                 }
                             }
                         }
                         ///////////////////////开始流程//////////////////////////////////
                         ProcessDelegate dl = new ProcessDelegate(RunProcess);
                         dl.BeginInvoke(channel, msg, null, null);
                         if (null != OnPlate)
                         {
                             OnPlate(msg);
                         }
                     }
                 }
             }
             AcceptDataEvent.Reset();
         }
         catch (Exception ex)
         {
             AcceptDataEvent.Reset();
             LogHelper.Log.Error(ex.Message, ex.InnerException);
         }
     }
 }
 public void WaitOne(ProcessRecord recordInfo)
 {
     if (ChannelEngine.dicChargeInfo.ContainsKey(recordInfo.INOUT_RECODE.VEHICLE_NO))
     {
         var autoResetevent = ChannelEngine.dicChargeInfo.Where(x => x.Key == recordInfo.INOUT_RECODE.VEHICLE_NO).FirstOrDefault();
         var temp           = autoResetevent.Value as AutoResetEvent;
         temp.WaitOne();
     }
 }
 public ConfirmGateForm(ProcessRecord record)
 {
     InitializeComponent();
     recordInfo              = record;
     base.Title              = "入口确认开闸";
     this.lbCarNo.Text       = recordInfo.INOUT_RECODE.VEHICLE_NO;
     this.lbInOutTime.Text   = recordInfo.REPORTIMG_TIME.ToString("yyyy-MM-dd HH:mm:ss");
     this.lbChannelName.Text = recordInfo.CHN_NAME;
 }
示例#20
0
 private void Instance_OnMessageBroadcast(ProcessRecord recordInfo, bool isWaitOne)
 {
     if (this.InvokeRequired)
     {
         this.Invoke(new MethodInvoker(delegate { ActiveMessage(recordInfo); }));
         return;
     }
     ActiveMessage(recordInfo);
 }
示例#21
0
 /// <summary>
 /// 事件响应
 /// </summary>
 /// <param name="data"></param>
 public void Instance_OnPlate(ProcessRecord data)
 {
     if (this.InvokeRequired)
     {
         this.Invoke(new MethodInvoker(delegate { ShowPictureInfo(data); }));
         return;
     }
     ShowPictureInfo(data);
 }
示例#22
0
        public ProcessRecord ConvertRecord(DataUploadEventArgs data)
        {
            ProcessRecord recordInfo = new ProcessRecord();

            //车牌号码
            recordInfo.INOUT_RECODE.VEHICLE_NO = data.TempRecordInfo.plateNum;
            //特征码
            recordInfo.INOUT_RECODE.UNIQUE_IDENTIFIER = data.TempRecordInfo.INOUT_RECODE.UNIQUE_IDENTIFIER;
            //是否发送短信
            recordInfo.SendSMS = data.TempRecordInfo.SendSMS;
            //手机号码
            recordInfo.Phone = data.TempRecordInfo.Phone;
            //通道编号
            recordInfo.CHN_CODE = data.TempRecordInfo.CHN_CODE;
            //通道名称
            recordInfo.CHN_NAME = data.TempRecordInfo.CHN_NAME;

            //分区信息
            var parentsList = CommHelper.GetOrgInfos(recordInfo.CHN_CODE, false);
            var par         = parentsList.Where(x => x.channelType == enumChannelType.par).LastOrDefault();

            if (null != par)
            {
                recordInfo.PARTITION_CODE = par.ORGANIZATION_CODE;
                recordInfo.PARTITION_NAME = par.OrganizationInfo.ORGANIZATION_NAME;
            }
            //获取工作站信息
            var wsn = parentsList.Where(x => x.channelType == enumChannelType.wsn).LastOrDefault();

            if (null != wsn)
            {
                recordInfo.FIELD_NAME = wsn.OrganizationInfo.ORGANIZATION_NAME;
                recordInfo.FIELD_CODE = wsn.OrganizationInfo.ORGANIZATION_CODE;
            }

            //获取操作员信息
            if (null != GlobalEnvironment.LocalUserInfo)
            {
                recordInfo.OPERATOR_ID   = GlobalEnvironment.LocalUserInfo.USER_ID;
                recordInfo.OPERATOR_NAME = GlobalEnvironment.LocalUserInfo.USER_NAME;
            }
            //车牌号码
            recordInfo.INOUT_RECODE.VEHICLE_NO = data.TempRecordInfo.plateNum;
            //入场类型
            recordInfo.PARK_TYPE = "无牌车放行";
            //刷卡时间
            recordInfo.REPORTIMG_TIME = data.TempRecordInfo.REPORTIMG_TIME;
            //出入场类型
            recordInfo.CHANNEL_TYPE = data.TempRecordInfo.CHANNEL_TYPE;
            //抓拍图片
            recordInfo.PicFullName = data.TempRecordInfo.fullPicName;
            //初始化公共信息
            base.InitBaseInfo(recordInfo);

            return(recordInfo);
        }
 /// <summary>
 /// 触?£¤发¤?é事o?件t
 /// </summary>
 /// <param name="operaterType"></param>
 /// <param name="recordInfo"></param>
 /// <param name="isWaitOne"></param>
 /// <returns></returns>
 protected virtual bool TriggerEvent(enumOperaterType operaterType, ProcessRecord recordInfo, bool isWaitOne = false)
 {
     try
     {
         recordInfo.OPERATER_TYPE = operaterType;
         ThreadMessageTransact.Instance.triggerEvent(recordInfo, isWaitOne);
     }
     catch { return(false); }
     return(true);
 }
        /// <summary>
        /// 建立交易过程model
        /// </summary>
        /// <param name="row"></param>
        /// <returns></returns>
        private ProcessRecord ToModel(DataRow row)
        {
            ProcessRecord processRecord = new ProcessRecord();

            processRecord.goodsId     = (Guid)row["GoodsId"];
            processRecord.id          = (Guid)row["Id"];
            processRecord.tradeNameId = (Guid)row["TradeNameId"];
            processRecord.tradePrice  = (decimal)row["TradePrice"];
            processRecord.tradeTime   = (DateTime)row["TradeTime"];
            return(processRecord);
        }
示例#25
0
 /// <summary>
 /// 响应广播消息
 /// </summary>
 /// <param name="recordInfo"></param>
 /// <param name="isWaitOne"></param>
 private void ActiveMessage(ProcessRecord recordInfo, bool isWaitOne)
 {
     if (recordInfo.OPERATER_TYPE == enumOperaterType.SwitchdataGrid)
     {
         if (!string.IsNullOrEmpty(recordInfo.PicFullName))
         {
             this.lblCarNum.Text  = recordInfo.VEHICLE_NO;
             this.picCarImg.Image = new Bitmap(GlobalEnvironment.BasePath + recordInfo.PicFullName);
         }
     }
 }
示例#26
0
 public ChargeForm(ProcessRecord record)
 {
     InitializeComponent();
     recordInfo         = record;
     base.WindowsClosed = false;
     CheckForIllegalCrossThreadCalls = false;
     orderRecord = EngineContext.Current.Resolve <ICR_ORDER_RECORD_INFO>();
     order       = recordInfo.ListOrder;//orderRecord.GetOrders(recordInfo.INOUT_RECODE.ID, );
     base.Title  = record.CHANNEL_TYPE == enumChannelType.centerPayment ? "中央缴费框" : "出口收费框";
     Initialize();
 }
示例#27
0
        /// <summary>
        /// 道闸设备开闸
        /// </summary>
        /// <param name="channelCode"></param>
        /// <param name="strArr"></param>
        public static void OpenGate(ProcessRecord recordInfo)
        {
            var temp = CommHelper.GetOrgInfos(recordInfo.CHN_CODE, false);

            if (null != temp)
            {
                var   par          = temp.Where(x => x.channelType == enumChannelType.par).LastOrDefault();
                var   chargMap     = par.ListChargMap.Where(x => x.carType == (int)recordInfo.CarType).FirstOrDefault();
                int[] roadType     = chargMap.roadGateType;
                var   childrenList = GetOrgInfos(recordInfo.CHN_CODE);
                if (null != childrenList && childrenList.Count > 0)
                {
                    //查找道闸设备
                    var roadGateDevice = childrenList.Where(x => x.productLine == enumProductLine.RoadGate).FirstOrDefault();
                    if (null != roadGateDevice && !string.IsNullOrEmpty(roadGateDevice.IP))
                    {
                        //if (roadGateDevice.Online)
                        //{
                        var tempControlPanel = EngineContext.Current.Resolve <IControlPanel>(roadGateDevice.deviceType.ToString());
                        if (null != tempControlPanel)
                        {
                            LogHelper.Log.Info("道闸设备【" + roadGateDevice.ORGANIZATION_NAME + "】" + ";车牌号:" + recordInfo.INOUT_RECODE.VEHICLE_NO + ";发送开闸命令时间:" + System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                            tempControlPanel.OpenGate(roadGateDevice.IP, roadGateDevice.Port, roadType);
                            recordInfo.OPERATER_TYPE = enumOperaterType.OpenGate;
                            ThreadMessageTransact.Instance.triggerEvent(recordInfo, false);
                        }
                        //}
                        //else
                        //    LogHelper.Log.Info("道闸设备【" + roadGateDevice.ORGANIZATION_NAME + "】不在线!");
                    }
                    else  //找父节点 ----- (一般是主控板)
                    {
                        var boardDevice = childrenList.Where(x => x.productLine == enumProductLine.MasterBoard).FirstOrDefault();
                        if (null != boardDevice && !string.IsNullOrEmpty(boardDevice.IP))
                        {
                            //if (boardDevice.Online)
                            //{
                            var tempControlPanel = EngineContext.Current.Resolve <IControlPanel>(boardDevice.deviceType.ToString());
                            if (null != tempControlPanel)
                            {
                                LogHelper.Log.Info("道闸设备【" + boardDevice.ORGANIZATION_NAME + "】" + ";车牌号:" + recordInfo.INOUT_RECODE.VEHICLE_NO + ";发送开闸命令时间:" + System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                                tempControlPanel.OpenGate(boardDevice.IP, boardDevice.Port, roadType);
                                recordInfo.OPERATER_TYPE = enumOperaterType.OpenGate;
                                ThreadMessageTransact.Instance.triggerEvent(recordInfo, false);
                            }
                            //}
                            //else
                            //    LogHelper.Log.Info("道闸设备【" + boardDevice.ORGANIZATION_NAME + "】不在线!");
                        }
                    }
                }
            }
        }
 private void Instance_OnMessageBroadcast(ProcessRecord msg, bool isWaitOne)
 {
     if (msg.OPERATER_TYPE == enumOperaterType.RecognitionEvent)
     {
         if (this.InvokeRequired)
         {
             this.Invoke(new MethodInvoker(delegate { AddLastPoint(msg.IP); }));
             return;
         }
         AddLastPoint(msg.IP);
     }
 }
示例#29
0
 /// <summary>
 /// 显示最新车辆信息
 /// </summary>
 /// <param name="data"></param>
 public void ShowPictureInfo(ProcessRecord data)
 {
     try
     {
         lblType.Text    = data.CARD_TYPE == enumCardType.CAR_TYPE_TEMP ? "临时车" : data.CARD_TYPE == enumCardType.CAR_TYPE_MONTH ? "月卡车" : "固定车";
         picCarImg.Image = GetThumbnail(data.PicFullName, this.picCarImg.Width, picCarImg.Height);
         lblCarNum.Text  = data.INOUT_RECODE.VEHICLE_NO;
     }
     catch (Exception ex)
     {
         LogHelper.Log.Error(ex.Message);
     }
 }
        /// <summary>
        /// 播£¤报à?§语??音°?
        /// </summary>
        /// <param name="recordInfo"></param>
        public void Sound(ProcessRecord recordInfo)
        {
            /////////////////////////播£¤报à?§语??音°?////////////////////////////
            var           voiceBllTemp = EngineContext.Current.Resolve <IPBA_VOICE_TEMPLATE>();
            List <string> strArr       = new List <string>();
            var           voiceModel   = voiceBllTemp.GetModelByType((int)enumTemplateType.MODEL_TYPE_VOICE, (int)recordInfo.SpeechType);

            if (null != voiceModel)
            {
                strArr.Add(CommHelper.VoiceContent(voiceModel.CUSTOM_MODEL, recordInfo));
                Parking.Core.Common.CommHelper.Sound(recordInfo, strArr.ToArray());
            }
        }