示例#1
0
        private void btnSearchNumber_Click(object sender, EventArgs e)
        {
            try
            {
                if (txtNumber.Text != string.Empty && IsNumeric(txtNumber.Text))
                {
                    OrderList.Clear();
                    Order = null;

                    string[] names     = Settings.Default.EmployeeName.ToString().Split(' ');
                    string   firstName = names[0];
                    string   lastName  = names[1];

                    Employee OrderEmployee = EmployeeFactory.RetrieveByName(firstName, lastName);

                    if (Settings.Default.AccessLevel.Equals("S"))
                    {
                        Order = PurchaseOrderFactory.RetrieveByNumberSupervisor(Convert.ToInt32(txtNumber.Text), OrderEmployee.Id);

                        if (Order == null)
                        {
                            MessageBox.Show("Purchase order cannot be found or Supervisor does not have permission to view order.");
                            txtNumber.Focus();
                            txtNumber.SelectAll();
                            return;
                        }
                    }
                    else
                    {
                        Order = PurchaseOrderFactory.RetrieveByNumber(Convert.ToInt32(txtNumber.Text), OrderEmployee.Id);

                        if (Order == null)
                        {
                            MessageBox.Show("Purchase order cannot be found or Employee does not have permission to view order.");
                            txtNumber.Focus();
                            txtNumber.SelectAll();
                            return;
                        }
                    }

                    List <PurchaseOrder> singleOrderList = new List <PurchaseOrder> {
                        Order
                    };
                    dgvOrders.DataSource = singleOrderList;
                    ModifyPODataGrid();
                    dgvOrders.Visible         = true;
                    btnSelect.Visible         = true;
                    btnCancelSearch.Visible   = true;
                    lblPurchaseOrders.Visible = true;
                    txtNumber.Clear();
                    txtNumber.Focus();
                    grpSearchOther.Enabled  = false;
                    grpSearchNumber.Enabled = false;

                    for (int i = 0; i < singleOrderList.Count; i++)
                    {
                        PurchaseOrder tmpOrder = singleOrderList[i];

                        if (!tmpOrder.Status.Equals("Pending"))
                        {
                            dgvOrders.Rows[i].DefaultCellStyle.BackColor = Color.Gray;
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Please enter a valid purchase order number.");
                    txtNumber.Focus();
                    txtNumber.SelectAll();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "An error has occurred");
                txtNumber.Focus();
                txtNumber.SelectAll();
            }
        }