private void OnMenuClick(object sender, System.EventArgs e) { //Event hanlder for menu click events try { MenuItem mnu = (MenuItem)sender; switch (mnu.Text) { case "Open": switch (this.tabMain.SelectedTab.Name) { case "tabCtns": break; case "tabMsgs": OpenFileDialog dlgOpen = new OpenFileDialog(); dlgOpen.Filter = "Text Files (*.xml) | *.xml"; dlgOpen.FilterIndex = 0; if (dlgOpen.ShowDialog(this) == DialogResult.OK) { PandaDS packets = new PandaDS(); packets.ReadXml(dlgOpen.FileName, XmlReadMode.ReadSchema); if (packets.PacketTable.Rows.Count == 0) { MessageBox.Show(this, "No PandA packets found in file " + dlgOpen.FileName + ".", "Open PandA Packets", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { for (int i = 0; i < packets.PacketTable.Rows.Count; i++) { PandaDS.PacketTableRow packet = packets.PacketTable[i]; this.lsvMsgs.Items.Add(new ListViewItem(new string[] { packet.ClientID, packet.Received.ToString("MM-dd-yyyy HH:mm:ss.fff"), packet.ProcessingTime.ToString(), packet.MessageLength.ToString(), packet.MessageCode.ToString(), packet.MessageNumber.ToString(), packet.OriginalMessageCode.ToString(), packet.MessageFlags.ToString(), packet.RecordIterator.ToString(), packet.MessageBody, packet.Valid.ToString(), packet.Exception })); } } } break; case "tabTrace": break; } break; case "Clear": switch (this.tabMain.SelectedTab.Name) { case "tabCtns": this.lsvCtns.Items.Clear(); break; case "tabMsgs": this.lsvMsgs.Items.Clear(); break; case "tabTrace": this.txtTrace.Clear(); break; } break; case "Save": #region Save a view to file SaveFileDialog dlgSave = new SaveFileDialog(); dlgSave.AddExtension = true; dlgSave.FilterIndex = 0; dlgSave.OverwritePrompt = true; switch (this.tabMain.SelectedTab.Name) { case "tabCtns": dlgSave.Filter = "Text Files (*.xml) | *.xml"; dlgSave.Title = "Save Cartons As..."; dlgSave.FileName = "cartons_" + DateTime.Today.ToString("yyyyMMdd") + ".xml"; if (dlgSave.ShowDialog(this) == DialogResult.OK) { PandaDS cartons = new PandaDS(); #region Populate dataset with all cartons that are in lsvCtns for (int i = 0; i < this.lsvCtns.Items.Count; i++) { PandaDS.CartonTableRow carton = cartons.CartonTable.NewCartonTableRow(); carton.CartonID = this.lsvCtns.Items[i].SubItems[0].Text; carton.StatusCode = int.Parse(this.lsvCtns.Items[i].SubItems[1].Text); carton.LabelFormat = this.lsvCtns.Items[i].SubItems[2].Text; carton.LabelException = this.lsvCtns.Items[i].SubItems[3].Text; carton.Verify = this.lsvCtns.Items[i].SubItems[4].Text; carton.SaveException = this.lsvCtns.Items[i].SubItems[5].Text; carton.Barcode1 = this.lsvCtns.Items[i].SubItems[6].Text; carton.Barcode2 = this.lsvCtns.Items[i].SubItems[7].Text; carton.Barcode3 = this.lsvCtns.Items[i].SubItems[8].Text; carton.Barcode4 = this.lsvCtns.Items[i].SubItems[9].Text; carton.Barcode5 = this.lsvCtns.Items[i].SubItems[10].Text; carton.Barcode6 = this.lsvCtns.Items[i].SubItems[11].Text; carton.ItemWeight = decimal.Parse(this.lsvCtns.Items[i].SubItems[12].Text); cartons.CartonTable.AddCartonTableRow(carton); } #endregion cartons.WriteXml(dlgSave.FileName, XmlWriteMode.WriteSchema); } break; case "tabMsgs": dlgSave.Filter = "Text Files (*.xml) | *.xml"; dlgSave.Title = "Save Packets As..."; dlgSave.FileName = "packets_" + DateTime.Today.ToString("yyyyMMdd") + ".xml"; if (dlgSave.ShowDialog(this) == DialogResult.OK) { PandaDS packets = new PandaDS(); #region Populate dataset with all packets that are in lsvMsgs for (int i = 0; i < this.lsvMsgs.Items.Count; i++) { PandaDS.PacketTableRow packet = packets.PacketTable.NewPacketTableRow(); packet.ClientID = this.lsvMsgs.Items[i].SubItems[0].Text; packet.Received = DateTime.Parse(this.lsvMsgs.Items[i].SubItems[1].Text); packet.ProcessingTime = float.Parse(this.lsvMsgs.Items[i].SubItems[2].Text); packet.MessageLength = int.Parse(this.lsvMsgs.Items[i].SubItems[3].Text); packet.MessageCode = int.Parse(this.lsvMsgs.Items[i].SubItems[4].Text); packet.MessageNumber = int.Parse(this.lsvMsgs.Items[i].SubItems[5].Text); packet.OriginalMessageCode = int.Parse(this.lsvMsgs.Items[i].SubItems[6].Text); packet.MessageFlags = int.Parse(this.lsvMsgs.Items[i].SubItems[7].Text); packet.RecordIterator = int.Parse(this.lsvMsgs.Items[i].SubItems[8].Text); packet.MessageBody = this.lsvMsgs.Items[i].SubItems[9].Text; packet.Valid = bool.Parse(this.lsvMsgs.Items[i].SubItems[10].Text); packet.Exception = this.lsvMsgs.Items[i].SubItems[11].Text; packets.PacketTable.AddPacketTableRow(packet); } #endregion packets.WriteXml(dlgSave.FileName, XmlWriteMode.WriteSchema); } break; case "tabTrace": dlgSave.Filter = "Text Files (*.txt) | *.txt"; dlgSave.Title = "Save Trace Log As..."; dlgSave.FileName = "tracelog_" + DateTime.Today.ToString("yyyyMMdd") + ".txt"; if (dlgSave.ShowDialog(this) == DialogResult.OK) { this.txtTrace.SaveFile(dlgSave.FileName, RichTextBoxStreamType.PlainText); } break; } #endregion break; case "Run": switch (this.tabMain.SelectedTab.Name) { case "tabCtns": break; case "tabMsgs": #region Populate datarow with all fields that are in lsvMsgs selected item PandaDS packets = new PandaDS(); PandaDS.PacketTableRow packet = packets.PacketTable.NewPacketTableRow(); packet.ClientID = this.lsvMsgs.SelectedItems[0].SubItems[0].Text; packet.Received = DateTime.Parse(this.lsvMsgs.SelectedItems[0].SubItems[1].Text); packet.ProcessingTime = float.Parse(this.lsvMsgs.SelectedItems[0].SubItems[2].Text); packet.MessageLength = int.Parse(this.lsvMsgs.SelectedItems[0].SubItems[3].Text); packet.MessageCode = int.Parse(this.lsvMsgs.SelectedItems[0].SubItems[4].Text); packet.MessageNumber = int.Parse(this.lsvMsgs.SelectedItems[0].SubItems[5].Text); packet.OriginalMessageCode = int.Parse(this.lsvMsgs.SelectedItems[0].SubItems[6].Text); packet.MessageFlags = int.Parse(this.lsvMsgs.SelectedItems[0].SubItems[7].Text); packet.RecordIterator = int.Parse(this.lsvMsgs.SelectedItems[0].SubItems[8].Text); packet.MessageBody = this.lsvMsgs.SelectedItems[0].SubItems[9].Text; packet.Valid = bool.Parse(this.lsvMsgs.SelectedItems[0].SubItems[10].Text); packet.Exception = this.lsvMsgs.SelectedItems[0].SubItems[11].Text; #endregion PandaPacket request = new PandaPacket(packet); this.mPandaSvc.ProcessPandARequest("", request); break; case "tabTrace": break; } break; } } catch (Exception ex) { reportError(ex); } }
/// <summary></summary> /// <param name="carton"></param> public PandaLabelDataEventArgs(PandaDS.CartonTableRow carton) { this._carton = carton; }