예제 #1
0
        private void OnItemClick(object sender, System.EventArgs e)
        {
            //Menu services
            string         number   = "";
            LTLShipment2   shipment = null;
            dlgLTLShipment dlg      = null;

            try {
                ToolStripItem menu = (ToolStripItem)sender;
                switch (menu.Name)
                {
                case "csNew":
                    switch (this.tabShipments.SelectedTab.Name)
                    {
                    case "tabActive":
                        shipment = new LTLShipment2();
                        shipment.ShipmentNumber = "";
                        shipment.ClientNumber   = this.cboClient.SelectedValue.ToString();
                        shipment.ShipDate       = DateTime.Today.AddDays(1);
                        dlg      = new dlgLTLShipment(shipment);
                        dlg.Font = this.Font;
                        if (dlg.ShowDialog(this) == DialogResult.OK)
                        {
                            this.Cursor = Cursors.WaitCursor;
                            number      = FreightGateway.CreateLTLShipment(shipment);
                            MessageBox.Show(this, "New shipment created.", App.Product, MessageBoxButtons.OK);
                            Refresh();
                        }
                        break;
                    }
                    break;

                case "csOpen":
                    switch (this.tabShipments.SelectedTab.Name)
                    {
                    case "tabActive": number = this.grdShipments.Selected.Rows[0].Cells["ShipmentNumber"].Value.ToString(); break;

                    case "tabSearch": number = this.grdSearch.Selected.Rows[0].Cells["ShipmentNumber"].Value.ToString(); break;
                    }
                    shipment = FreightGateway.ReadLTLShipment(number);
                    dlg      = new dlgLTLShipment(shipment);
                    dlg.Font = this.Font;
                    if (dlg.ShowDialog(this) == DialogResult.OK)
                    {
                        this.Cursor = Cursors.WaitCursor;
                        FreightGateway.UpdateLTLShipment(shipment);
                        MessageBox.Show(this, "Shipment updated.", App.Product, MessageBoxButtons.OK);
                        Refresh();
                    }
                    break;

                case "csCancel":
                    switch (this.tabShipments.SelectedTab.Name)
                    {
                    case "tabActive":
                        number = this.grdShipments.Selected.Rows[0].Cells["ShipmentNumber"].Value.ToString();
                        if (MessageBox.Show(this, "Cancel the shipment# " + number + "?", App.Product, MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
                        {
                            this.Cursor = Cursors.WaitCursor;
                            FreightGateway.CancelLTLShipment(number, Environment.UserName);
                            MessageBox.Show(this, "Shipment cancelled.", App.Product, MessageBoxButtons.OK);
                            Refresh();
                        }
                        break;
                    }
                    break;

                case "csRefresh":
                    this.Cursor = Cursors.WaitCursor;
                    Refresh();
                    break;

                case "csPrintLabels":
                    switch (this.tabShipments.SelectedTab.Name)
                    {
                    case "tabActive": number = this.grdShipments.Selected.Rows[0].Cells["ShipmentNumber"].Value.ToString(); break;

                    case "tabSearch": number = this.grdSearch.Selected.Rows[0].Cells["ShipmentNumber"].Value.ToString(); break;
                    }
                    dlgLabels dlgL = new dlgLabels(number);
                    dlgL.Font = this.Font;
                    dlgL.ShowDialog(this);
                    break;

                case "csPrintPaperwork":
                    switch (this.tabShipments.SelectedTab.Name)
                    {
                    case "tabActive": number = this.grdShipments.Selected.Rows[0].Cells["ShipmentNumber"].Value.ToString(); break;

                    case "tabSearch": number = this.grdSearch.Selected.Rows[0].Cells["ShipmentNumber"].Value.ToString(); break;
                    }
                    dlgPaperwork dlgP = new dlgPaperwork(number);
                    dlgP.Font = this.Font;
                    dlgP.ShowDialog(this);
                    break;
                }
            }
            catch (Exception ex) { App.ReportError(ex, true, LogLevel.Error); }
            finally { setUserServices(); this.Cursor = Cursors.Default; }
        }