/// <summary> /// Load Authentication memory to insert and activate keys /// </summary> /// <param name="reader"></param> /// <param name="address"></param> /// <param name="selectedBank"></param> /// <param name="selectedTagRed"></param> /// <param name="readerModel"></param> public void LoadAuthenticateMemory(Reader reader, uint address, Gen2.Bank selectedBank, TagReadRecord selectedTagRed, string readerModel) { objReader = reader; startAddress = address; model = readerModel; spAuthenticate.IsEnabled = true; rbFirstTagAuthenticateTb.IsEnabled = true; rbSelectedTagAuthenticateTb.IsChecked = true; rbSelectedTagAuthenticateTb.IsEnabled = true; btnRead.Content = "Refresh"; selectedTagReadRecord = selectedTagRed; antenna = selectedTagRed.Antenna; selectMemBank = selectedBank; //txtEPCData.Text = selectedTagRed.EPC; string[] stringData = selectedTagRed.Data.Split(' '); txtEpc.Text = selectedTagRed.EPC; currentEPC = txtEpc.Text; txtData.Text = string.Join("", stringData); Window mainWindow = App.Current.MainWindow; ucTagResults tagResults = (ucTagResults)mainWindow.FindName("TagResults"); switch (selectedBank) { case Gen2.Bank.EPC: if (tagResults.txtSelectedCell.Text == "Data") { lblSelectFilter.Content = "Showing tag: EPC data at decimal address " + address.ToString() + " = " + txtData.Text; } else { lblSelectFilter.Content = "Showing tag: EPC ID = " + selectedTagRed.EPC; } break; case Gen2.Bank.TID: if (tagResults.txtSelectedCell.Text == "Data") { lblSelectFilter.Content = "Showing tag: TID data at decimal address " + address.ToString() + " = " + txtData.Text; } else { lblSelectFilter.Content = "Showing tag: EPC ID = " + selectedTagRed.EPC; } break; case Gen2.Bank.USER: if (tagResults.txtSelectedCell.Text == "Data") { lblSelectFilter.Content = "Showing tag: User data at decimal address " + address.ToString() + " = " + txtData.Text; } else { lblSelectFilter.Content = "Showing tag: EPC ID = " + selectedTagRed.EPC; } break; } PopulateAuthenticateData(); }
public void LoadUserMemory(Reader reader, uint address, Gen2.Bank selectedBank, TagReadRecord selectedTagRed, string readerModel) { objReader = reader; startAddress = address; model = readerModel; spUserMemory.IsEnabled = true; rbFirstTagUserMemTb.IsEnabled = true; rbSelectedTagUserMemTb.IsChecked = true; rbSelectedTagUserMemTb.IsEnabled = true; lblUserMemoryError.Content = ""; lblErrorAddAsciiEdtr.Content = ""; lblErrorAddHexEdtr.Content = ""; btnRead.Content = "Refresh"; selectedTagReadRecord = selectedTagRed; antenna = selectedTagRed.Antenna; selectMemBank = selectedBank; //txtEPCData.Text = selectedTagRed.EPC; string[] stringData = selectedTagRed.Data.Split(' '); txtEpc.Text = selectedTagRed.EPC; currentEPC = txtEpc.Text; txtData.Text = string.Join("", stringData); Window mainWindow = App.Current.MainWindow; ucTagResults tagResults = (ucTagResults)mainWindow.FindName("TagResults"); switch (selectedBank) { case Gen2.Bank.EPC: if (tagResults.txtSelectedCell.Text == "Data") { lblSelectFilter.Content = "Showing tag: EPC data at decimal address " + address.ToString() + " = " + txtData.Text; } else { lblSelectFilter.Content = "Showing tag: EPC ID = " + selectedTagRed.EPC; } break; case Gen2.Bank.TID: if (tagResults.txtSelectedCell.Text == "Data") { lblSelectFilter.Content = "Showing tag: TID data at decimal address " + address.ToString() + " = " + txtData.Text; } else { lblSelectFilter.Content = "Showing tag: EPC ID = " + selectedTagRed.EPC; } break; case Gen2.Bank.USER: if (tagResults.txtSelectedCell.Text == "Data") { lblSelectFilter.Content = "Showing tag: User data at decimal address " + address.ToString() + " = " + txtData.Text; } else { lblSelectFilter.Content = "Showing tag: EPC ID = " + selectedTagRed.EPC; } break; } PopulateUserData(); }
public void Load(Reader reader,uint address, int length, Gen2.Bank selectedBank,TagReadRecord selectedTagRed) { InitializeComponent(); objReader = reader; startAddress = address; dataLength = length; selectMemBank = selectedBank; spWriteEPC.IsEnabled = true; rbSelectedTag.IsChecked = true; rbSelectedTag.IsEnabled = true; string[] stringData = selectedTagRed.Data.Split(' '); txtEpc.Text = selectedTagRed.EPC; txtData.Text = string.Join("", stringData); Window mainWindow = App.Current.MainWindow; ucTagResults tagResults = (ucTagResults)mainWindow.FindName("TagResults"); switch(selectedBank) { case Gen2.Bank.EPC: if (tagResults.txtSelectedCell.Text == "Data") { lblSelectFilter.Content = "EPC Memory, Decimal Address = " + address.ToString() + " and Data = " + txtData.Text; } else { lblSelectFilter.Content = "EPC ID = " + selectedTagRed.EPC; } break; case Gen2.Bank.TID: if (tagResults.txtSelectedCell.Text == "Data") { lblSelectFilter.Content = "TID Memory, Decimal Address = " + address.ToString() + " and Data = " + txtData.Text; } else { lblSelectFilter.Content = "EPC ID = " + selectedTagRed.EPC; } break; case Gen2.Bank.USER: if (tagResults.txtSelectedCell.Text == "Data") { lblSelectFilter.Content = "User Memory, Decimal Address = " + address.ToString() + " and Data = " + txtData.Text; } else { lblSelectFilter.Content = "EPC ID = " + selectedTagRed.EPC; } break; } txtCurrentEpc.Text = selectedTagRed.EPC; currentEpc = txtCurrentEpc.Text; antenna = selectedTagRed.Antenna; }
private void dgTagResults_MouseRightButtonDown(object sender, MouseButtonEventArgs e) { ContextMenu ctMenu = (ContextMenu)App.Current.MainWindow.FindName("ctMenu"); Button btnConnect = (Button)App.Current.MainWindow.FindName("btnConnect"); try { if (e.RightButton == MouseButtonState.Pressed) { // iteratively traverse the visual tree DependencyObject dep = (DependencyObject)e.OriginalSource; while ((dep != null) && !(dep is DataGridCell) && !(dep is DataGridColumnHeader)) { dep = VisualTreeHelper.GetParent(dep); } if (btnConnect.Content != null) { if (btnConnect.Content.ToString() == "Connect" || btnConnect.IsEnabled == false) { ctMenu.Visibility = System.Windows.Visibility.Collapsed; return; } } else if (dep == null) { ctMenu.Visibility = System.Windows.Visibility.Collapsed; return; } if (dep is DataGridCell) { DataGridCell cell = dep as DataGridCell; // navigate further up the tree while ((dep != null) && !(dep is DataGridRow)) { dep = VisualTreeHelper.GetParent(dep); } DataGridRow row = dep as DataGridRow; DataGrid dataGrid = ItemsControl.ItemsControlFromItemContainer(row) as DataGrid; TagReadRecord tr = (TagReadRecord)row.Item; if ((null != dataGrid.CurrentCell) && (tr.Protocol == TagProtocol.GEN2)) { foreach (MenuItem item in ctMenu.Items) { item.IsEnabled = true; } if (dataGrid.CurrentCell.Column.Header.Equals("EPC") || (dataGrid.CurrentCell.Column.Header.Equals("Data")) || dataGrid.CurrentCell.Column.Header.Equals("EPC(ASCII)") || (dataGrid.CurrentCell.Column.Header.Equals("Data(ASCII)")) || dataGrid.CurrentCell.Column.Header.Equals("EPC(ReverseBase36)")) { Window mainWindow = App.Current.MainWindow; if (dataGrid.CurrentCell.Column.Header.Equals("EPC") || dataGrid.CurrentCell.Column.Header.Equals("EPC(ASCII)") || dataGrid.CurrentCell.Column.Header.Equals("EPC(ReverseBase36)")) { txtSelectedCell.Text = "EPC"; } else { txtSelectedCell.Text = "Data"; } Label lblhiddenembeddedReadvalueFrmMainWdw = (Label)mainWindow.FindName("lblhiddenembeddedReadvalue"); ctMenu.Focus(); if (lblhiddenembeddedReadvalueFrmMainWdw.Content.ToString() == "Reserved") { ctMenu.Visibility = System.Windows.Visibility.Collapsed; Console.WriteLine("Current cell" + dataGrid.CurrentCell.Column.Header.ToString()); } else { ctMenu.Visibility = System.Windows.Visibility.Visible; } } else { ctMenu.Visibility = System.Windows.Visibility.Collapsed; //Console.WriteLine("Else case Current cell" + dataGrid.CurrentCell.Column.Header.ToString()); } int index = dataGrid.ItemContainerGenerator.IndexFromContainer(row); } else if ((null != dataGrid.CurrentCell) && (tr.Protocol == TagProtocol.ATA)) { foreach (MenuItem item in ctMenu.Items) { if (item.Header.ToString() != "Inspect Tag") { item.IsEnabled = false; } } ctMenu.Visibility = System.Windows.Visibility.Visible; } else { ctMenu.Visibility = System.Windows.Visibility.Collapsed; //Console.WriteLine("Current Cell is not there" + dataGrid.CurrentCell.Column.Header.ToString()); } } else { ctMenu.Visibility = System.Windows.Visibility.Collapsed; //Console.WriteLine("not on a data grid cell" ); } } } catch (Exception ex) { if (ex is NullReferenceException) { ctMenu.Visibility = System.Windows.Visibility.Collapsed; } else { MessageBox.Show(ex.Message.ToString(), "Error", MessageBoxButton.OK, MessageBoxImage.Error); } } }
public void Load(Reader reader, uint address, int length, Gen2.Bank selectedBank, TagReadRecord selectedTagRed) { InitializeComponent(); objReader = reader; startAddress = address; dataLength = length; selectMemBank = selectedBank; spWriteEPC.IsEnabled = true; rbSelectedTag.IsChecked = true; rbSelectedTag.IsEnabled = true; string[] stringData = selectedTagRed.Data.Split(' '); txtEpc.Text = selectedTagRed.EPC; txtData.Text = string.Join("", stringData); Window mainWindow = App.Current.MainWindow; ucTagResults tagResults = (ucTagResults)mainWindow.FindName("TagResults"); switch (selectedBank) { case Gen2.Bank.EPC: if (tagResults.txtSelectedCell.Text == "Data") { lblSelectFilter.Content = "EPC Memory, Decimal Address = " + address.ToString() + " and Data = " + txtData.Text; } else { lblSelectFilter.Content = "EPC ID = " + selectedTagRed.EPC; } break; case Gen2.Bank.TID: if (tagResults.txtSelectedCell.Text == "Data") { lblSelectFilter.Content = "TID Memory, Decimal Address = " + address.ToString() + " and Data = " + txtData.Text; } else { lblSelectFilter.Content = "EPC ID = " + selectedTagRed.EPC; } break; case Gen2.Bank.USER: if (tagResults.txtSelectedCell.Text == "Data") { lblSelectFilter.Content = "User Memory, Decimal Address = " + address.ToString() + " and Data = " + txtData.Text; } else { lblSelectFilter.Content = "EPC ID = " + selectedTagRed.EPC; } break; } txtCurrentEpc.Text = selectedTagRed.EPC; currentEpc = txtCurrentEpc.Text; antenna = selectedTagRed.Antenna; }