/// <summary> /// 新增按钮点击事件 /// </summary> private void Add_Click(object sender, RoutedEventArgs e) { //获取配置 IList <UIIcCard> models = this.ICConfigDataGrid.ItemsSource as IList <UIIcCard>; UIIcCard icCard = new UIIcCard() { ComportList = this.ComportList, ConTypeList = this.ConTypeList, ICReadTypeList = this.ICReadTypeList, ICWriteTempList = this.ICWriteTempList, IsUseList = this.IsUseList, ICWriteTemp = false, IsUse = true, BaudrateList = this.BaudrateList }; icCard.ComPort = (icCard.ComportList != null && icCard.ComportList.Count > 0) ? icCard.ComportList.First().Name : string.Empty; icCard.ConType = (icCard.ConTypeList != null && icCard.ConTypeList.Count > 0) ? icCard.ConTypeList.First().Name : string.Empty; icCard.ICReadType = (icCard.ICReadTypeList != null && icCard.ICReadTypeList.Count > 0) ? icCard.ICReadTypeList.First().Name : string.Empty; icCard.Baudrate = (icCard.BaudrateList != null && icCard.BaudrateList.Count > 0) ? icCard.BaudrateList.First().Name : string.Empty; icCard.Driver = oldICReadTypeList.First().Split('@')[1]; models.Add(icCard); this.ICConfigDataGrid.ItemsSource = models; this.ICConfigDataGrid.Items.Refresh(); }
/// <summary> /// 测试按钮处理 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void TestButton_Click(object sender, RoutedEventArgs e) { //if (icCardMan != null) //{ // icCardMan.Stop(); // Thread.Sleep(2000); //} ////读取配置 //ConfigReader cfgReader = new ConfigReader(System.IO.Path.Combine(path, curConfigFileName)); //List<ICCard> icCardList = ConfigReader.ReadIcCard(); //if (icCardList == null || icCardList.Count <= 0) //{ // MessageBox.Show("IC卡配置信息有误,请检查。"); // return; //} // icCardMan = new IcCardsController(icCardList,true); // icCardMan.OnShowErrorMsg += icCardMan_OnShowErrorMsg; //icCardMan.OnReadCardNo += icCardMan_OnReadCardNo; //icCardMan.OnRemoveCard += icCardMan_OnRemoveCard; //icCardMan.Start(); if (rfidMain != null) { rfidMain.Stop(); } try { UIIcCard ic = this.RFIDConfigDataGrid.SelectedItem as UIIcCard; RfidCfg rf = new RfidCfg(); rf.Baudrate = ic.Baudrate; rf.ComPort = ic.ComPort; rf.ConType = ic.ConType; rf.EquDll = ic.Driver; rf.Interval = Convert.ToInt32(ic.Interval); rf.Ip = ic.Ip; rf.IsUse = ic.IsUse; rf.Port = ic.Port; rf.UsePassCarType = ic.ICReadType; rfidMain = new RfidController(rf); rfidMain.OnReceivedData += ReceivedData; if (!rfidMain.Open()) { MessageBox.Show("打开Rfid读卡器失败!"); return; } rfidMain.Start(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
/// <summary> /// 删除按钮点击事件 /// </summary> private void Detete_Click(object sender, RoutedEventArgs e) { if (this.ICConfigDataGrid.SelectedItem == null) { MessageBox.Show("请选择一条IC配置信息"); } else { List <UIIcCard> list = this.ICConfigDataGrid.ItemsSource as List <UIIcCard>; UIIcCard removeModel = this.ICConfigDataGrid.SelectedItem as UIIcCard; list.Remove(removeModel); this.ICConfigDataGrid.ItemsSource = list; this.ICConfigDataGrid.Items.Refresh(); } }
/// <summary> /// 读卡器类型选择改变事件 /// </summary> private void ICReadTypeSelectionChange(object sender, SelectionChangedEventArgs e) { if (this.ICConfigDataGrid.SelectedItems.Count == 1) { int rowIndex = this.ICConfigDataGrid.SelectedIndex; UIIcCard icCard = this.ICConfigDataGrid.SelectedItem as UIIcCard; var st = (from r in oldICReadTypeList where r.Contains(icCard.ICReadType) select r).ToList(); if (st.Count() > 0) { //获取当前行 DataGridRow row = this.ICConfigDataGrid.ItemContainerGenerator.ContainerFromIndex(rowIndex) as DataGridRow; if (row != null) { //所选行第三列的单元格数据 TextBlock tb = this.ICConfigDataGrid.Columns[7].GetCellContent(row) as TextBlock; tb.Text = st.First().Split('@')[1]; } } } }
/// <summary> /// 设置IC控制窗体中的各控件值 /// </summary> private void SetFormControls() { if (curSubModule != null) { IList <UIIcCard> models = new List <UIIcCard>(); if (curSubModule.GridRow != null) { foreach (var row in curSubModule.GridRow.RowList) { UIIcCard model = new UIIcCard(); foreach (var item in row.Params) { do { if (IcCardConfigParam.Row_ConType.Equals(item.Name)) { model.ConType = item.Value; model.ConTypeList = (from r in item.List select new ComboxModel() { Code = r, Name = r, Type = r }).ToList(); if (this.ConTypeList == null || this.ConTypeList.Count == 0)//设置行中"连接方式"数据源 { this.ConTypeList = (from r in item.List select new ComboxModel() { Code = r, Name = r, Type = r }).ToList(); } break; } if (IcCardConfigParam.Row_Comport.Equals(item.Name)) { model.ComPort = item.Value; model.ComportList = (from r in item.List select new ComboxModel() { Code = r, Name = r, Type = r }).ToList(); if (this.ComportList == null || this.ComportList.Count == 0)//设置行中"串口"数据源 { this.ComportList = (from r in item.List select new ComboxModel() { Code = r, Name = r, Type = r }).ToList(); } break; } if (IcCardConfigParam.Row_Ip.Equals(item.Name)) { model.Ip = item.Value; break; } if (IcCardConfigParam.Row_Port.Equals(item.Name)) { model.Port = item.Value; break; } if (IcCardConfigParam.Row_Baudrate.Equals(item.Name)) { model.Baudrate = item.Value; model.BaudrateList = (from r in item.List select new ComboxModel() { Code = r, Name = r, Type = r }).ToList(); if (this.BaudrateList == null || this.BaudrateList.Count == 0)//设置行中"串口"数据源 { this.BaudrateList = (from r in item.List select new ComboxModel() { Code = r, Name = r, Type = r }).ToList(); } break; } if (IcCardConfigParam.Row_Interval.Equals(item.Name)) { model.Interval = item.Value; break; } if (IcCardConfigParam.Row_ICReadType.Equals(item.Name)) { model.ICReadType = item.Value; model.ICReadTypeList = (from r in item.List select new ComboxModel() { Code = r.Split('@')[0], Name = r.Split('@')[0], Type = r.Split('@')[0] }).ToList(); if (this.ICReadTypeList == null || this.ICReadTypeList.Count == 0)//设置行中"读卡器类型"数据源 { OldICReadTypeList = item.List; this.ICReadTypeList = (from r in item.List select new ComboxModel() { Code = r.Split('@')[0], Name = r.Split('@')[0], Type = r.Split('@')[0] }).ToList(); } break; } if (IcCardConfigParam.Row_Driver.Equals(item.Name)) { model.Driver = item.Value; break; } if (IcCardConfigParam.Row_ICWriteTemp.Equals(item.Name)) { model.ICWriteTemp = item.Value.Equals("是") ? true : false; model.ICWriteTempList = (from r in item.List select new ComboxModel() { Code = r, Name = r, Type = r }).ToList(); if (this.ICWriteTempList == null || this.ICWriteTempList.Count == 0)//设置行中"是否缓存"数据源 { this.ICWriteTempList = (from r in item.List select new ComboxModel() { Code = r, Name = r, Type = r }).ToList(); } break; } if (IcCardConfigParam.Row_IsUse.Equals(item.Name)) { model.IsUse = item.Value.Equals("是") ? true : false; model.IsUseList = (from r in item.List select new ComboxModel() { Code = r, Name = r, Type = r }).ToList(); if (this.IsUseList == null || this.IsUseList.Count == 0)//设置行中"是否启用"数据源 { this.IsUseList = (from r in item.List select new ComboxModel() { Code = r, Name = r, Type = r }).ToList(); } break; } } while (false); } models.Add(model); } } this.ICConfigDataGrid.ItemsSource = models; } else { this.ICConfigDataGrid.ItemsSource = null; } }