Exemplo n.º 1
0
        private void RetrieveItems(int orderNumber)
        {
            try
            {
                ItemList.Clear();
                ItemList = ItemFactory.RetrieveByOrderNumber(orderNumber);

                Employee tmpEmployee = EmployeeFactory.RetrieveByOrderNumber(orderNumber);
                tmpDepartment      = DepartmentFactory.RetrieveByEmployeeId(tmpEmployee.Id);
                txtEmployee.Text   = tmpEmployee.FirstName + " " + tmpEmployee.LastName;
                txtDepartment.Text = tmpDepartment.Title;
                txtSupervisor.Text = tmpDepartment.SupervisorName;

                Order = PurchaseOrderFactory.RetrieveByNumber(orderNumber, tmpEmployee.Id);
                grdItems.DataSource = ItemList;
                grdItems.DataBind();

                txtPONumber.Text     = Order.OrderNumber.ToString();
                txtCreationDate.Text = Order.OrderDate.ToShortDateString();
                txtStatus.Text       = Order.Status;
                txtSubtotal.Text     = String.Format("{0:C}", Order.Subtotal);
                txtTaxes.Text        = String.Format("{0:C}", Order.Taxes);
                txtTotal.Text        = String.Format("{0:C}", Order.Total);

                orderDetails.Attributes.Add("style", "display:block");
                confirmation.Attributes.Add("style", "display:none");
                lblMessage.Text = "";
            }
            catch (Exception ex)
            {
                confirmation.Attributes.Add("style", "display:block");
                lblMessage.Text = ex.Message + " " + ex.GetType().ToString();
            }
        }
Exemplo n.º 2
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();
            }
        }
Exemplo n.º 3
0
        private void btnSelect_Click(object sender, EventArgs e)
        {
            try
            {
                string Status = dgvOrders.CurrentRow.Cells["status"].Value.ToString();

                selectedOrderIndex = dgvOrders.SelectedRows[0].Index;

                ItemList.Clear();
                ItemList = ItemFactory.RetrieveByOrderNumber((int)dgvOrders.SelectedRows[0].Cells[0].Value);

                Employee OrderEmployee = EmployeeFactory.RetrieveByOrderNumber((int)dgvOrders.SelectedRows[0].Cells[0].Value);
                tmpDepartment      = DepartmentFactory.RetrieveByEmployeeId(OrderEmployee.Id);
                txtEmployee.Text   = OrderEmployee.FirstName + " " + OrderEmployee.LastName;
                txtDepartment.Text = tmpDepartment.Title;
                txtSupervisor.Text = tmpDepartment.SupervisorName;

                Order = PurchaseOrderFactory.RetrieveByNumber((int)dgvOrders.SelectedRows[0].Cells[0].Value, OrderEmployee.Id);
                dgvItems.DataSource = ItemList;

                foreach (Item item in ItemList)
                {
                    if (!Order.Status.Equals("Closed"))
                    {
                        if (!item.Status.Equals("Pending"))
                        {
                            if (!item.Description.Equals("No longer needed"))
                            {
                                dgvItems.Rows[ItemList.IndexOf(item)].DefaultCellStyle.BackColor = Color.White;
                                dgvItems.Rows[ItemList.IndexOf(item)].Cells["status"].Value      = "Pending";
                            }
                            else
                            {
                                dgvItems.Rows[ItemList.IndexOf(item)].DefaultCellStyle.BackColor = Color.Gray;
                            }
                        }

                        btnAdd.Enabled        = true;
                        btnSelectItem.Enabled = true;
                    }
                    else
                    {
                        if (!item.Status.Equals("Pending"))
                        {
                            dgvItems.Rows[ItemList.IndexOf(item)].DefaultCellStyle.BackColor = Color.Gray;
                        }

                        btnSelectItem.Enabled = false;
                        btnAdd.Enabled        = false;
                    }
                }

                txtPONumber.Text     = Order.OrderNumber.ToString();
                txtCreationDate.Text = Order.OrderDate.ToShortDateString();
                txtStatus.Text       = Order.Status;
                txtSubtotal.Text     = String.Format("{0:C}", Order.Subtotal);
                txtTaxes.Text        = String.Format("{0:C}", Order.Taxes);
                txtTotal.Text        = String.Format("{0:C}", Order.Total);

                dgvItems.Visible      = true;
                lblItems.Visible      = true;
                btnSelectItem.Visible = true;
                ModifyItemDataGrid();
                grpOrder.Visible       = true;
                txtPONumber.Visible    = true;
                lblPONumber.Visible    = true;
                btnCancelItems.Visible = true;
                dgvOrders.Enabled      = false;
                dgvOrders.DefaultCellStyle.BackColor          = Color.Gray;
                dgvOrders.DefaultCellStyle.SelectionBackColor = Color.Gray;
                dgvOrders.DefaultCellStyle.SelectionForeColor = Color.Black;
                btnSelect.Enabled       = false;
                btnCancelSearch.Enabled = false;
                btnAdd.Visible          = true;

                if (!txtEmployee.Text.Equals(Settings.Default.EmployeeName))
                {
                    btnAdd.Enabled = false;
                }
                else
                {
                    btnAdd.Enabled = true;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "An error has occurred");
            }
        }
Exemplo n.º 4
0
        private void btnSelect_Click(object sender, EventArgs e)
        {
            try
            {
                string Status = dgvOrders.CurrentRow.Cells["status"].Value.ToString();
                selectedOrderIndex = dgvOrders.SelectedRows[0].Index;

                ItemList.Clear();
                ItemList = ItemFactory.RetrieveByOrderNumber((int)dgvOrders.SelectedRows[0].Cells[0].Value);

                Employee OrderEmployee = EmployeeFactory.RetrieveByOrderNumber((int)dgvOrders.SelectedRows[0].Cells[0].Value);
                txtEmployee.Text = OrderEmployee.FirstName + " " + OrderEmployee.LastName;

                Order = PurchaseOrderFactory.RetrieveByNumber((int)dgvOrders.SelectedRows[0].Cells[0].Value, OrderEmployee.Id);
                dgvItems.DataSource = ItemList;

                foreach (Item item in ItemList)
                {
                    if (item.Status.Equals("Pending"))
                    {
                        dgvItems.Rows[ItemList.IndexOf(item)].DefaultCellStyle.BackColor = Color.White;
                    }
                    else if (item.Status.Equals("Approved"))
                    {
                        dgvItems.Rows[ItemList.IndexOf(item)].DefaultCellStyle.BackColor = Color.LightGreen;
                    }
                    else if (item.Status.Equals("Denied"))
                    {
                        dgvItems.Rows[ItemList.IndexOf(item)].DefaultCellStyle.BackColor = Color.Red;
                    }
                }

                txtPONumber.Text     = Order.OrderNumber.ToString();
                txtCreationDate.Text = Order.OrderDate.ToShortDateString();
                txtStatus.Text       = Order.Status;
                txtSubtotal.Text     = String.Format("{0:C}", Order.Subtotal);
                txtTaxes.Text        = String.Format("{0:C}", Order.Taxes);
                txtTotal.Text        = String.Format("{0:C}", Order.Total);

                grpOrder.Visible = true;
                dgvItems.Visible = true;
                ModifyItemDataGrid();
                lblItems.Visible       = true;
                btnApprove.Visible     = true;
                btnDeny.Visible        = true;
                btnCancelItems.Visible = true;
                dgvOrders.Enabled      = false;
                dgvOrders.DefaultCellStyle.BackColor          = Color.Gray;
                dgvOrders.DefaultCellStyle.SelectionBackColor = Color.Gray;
                dgvOrders.DefaultCellStyle.SelectionForeColor = Color.Black;
                btnSelect.Enabled       = false;
                btnCancelSearch.Enabled = false;
                btnPending.Visible      = true;
                btnClose.Visible        = true;

                if (Order.Status.Equals("Closed"))
                {
                    btnApprove.Enabled = false;
                    btnDeny.Enabled    = false;
                    btnPending.Enabled = false;
                    btnClose.Enabled   = false;
                }
                else if (txtEmployee.Text == Settings.Default.EmployeeName)
                {
                    btnApprove.Enabled = false;
                    btnDeny.Enabled    = false;
                    btnPending.Enabled = false;
                    btnClose.Enabled   = false;
                    MessageBox.Show("Supervisors are unable to process their own purchase orders. Please contact your " +
                                    "superior to process the order for you. You are able to view the items that you have requested.");
                }
                else
                {
                    btnApprove.Enabled = true;
                    btnDeny.Enabled    = true;
                    btnPending.Enabled = true;
                    btnClose.Enabled   = true;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "An error has occurred");
            }
        }
Exemplo n.º 5
0
        protected void grdOrders_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            try
            {
                OrdersForProcessing rowOrder = null;
                int RowIndex = Convert.ToInt32(e.CommandArgument);
                rowOrder = OrderList[RowIndex];

                ItemList.Clear();
                ItemList = ItemFactory.RetrieveByOrderNumber(rowOrder.OrderNumber);

                Employee OrderEmployee = EmployeeFactory.RetrieveByOrderNumber(rowOrder.OrderNumber);
                txtEmployee.Text = OrderEmployee.FirstName + " " + OrderEmployee.LastName;

                Order = PurchaseOrderFactory.RetrieveByNumber(rowOrder.OrderNumber, OrderEmployee.Id);
                grdItems.DataSource = ItemList;
                grdItems.DataBind();
                orderDetails.Visible = true;
                searchPanel.Attributes.Add("style", "display:none");

                foreach (Item item in ItemList)
                {
                    if (item.Status.Equals("Pending"))
                    {
                        grdItems.Rows[ItemList.IndexOf(item)].BackColor = System.Drawing.Color.White;
                    }
                    else if (item.Status.Equals("Approved"))
                    {
                        grdItems.Rows[ItemList.IndexOf(item)].BackColor = System.Drawing.Color.LightGreen;
                    }
                    else if (item.Status.Equals("Denied"))
                    {
                        grdItems.Rows[ItemList.IndexOf(item)].BackColor = System.Drawing.Color.Red;
                    }
                }

                txtPONumber.Text     = Order.OrderNumber.ToString();
                txtCreationDate.Text = Order.OrderDate.ToShortDateString();
                txtStatus.Text       = Order.Status;
                txtSubtotal.Text     = String.Format("{0:C}", Order.Subtotal);
                txtTaxes.Text        = String.Format("{0:C}", Order.Taxes);
                txtTotal.Text        = String.Format("{0:C}", Order.Total);

                grdItems.Visible        = true;
                items.Visible           = true;
                grdItems.SelectedIndex  = -1;
                grdOrders.Visible       = true;
                txtPONumber.Visible     = true;
                lblPONumber.Visible     = true;
                btnCancelItems.Visible  = true;
                btnClose.Visible        = true;
                grdOrders.Enabled       = false;
                btnCancelSearch.Enabled = false;

                if (Order.Status.Equals("Closed"))
                {
                    foreach (GridViewRow row in grdItems.Rows)
                    {
                        grdItems.Rows[row.RowIndex].Enabled = false;
                    }

                    btnClose.Enabled = false;
                }
                else if (txtEmployee.Text.Equals(Session["EmployeeName"]))
                {
                    foreach (GridViewRow row in grdItems.Rows)
                    {
                        grdItems.Rows[row.RowIndex].Enabled = false;
                    }

                    btnClose.Enabled = false;

                    confirmation.Attributes.Add("style", "display:block");
                    lblMessage.Text = "Supervisors are unable to process their own purchase orders. Please contact your " +
                                      "superior to process the order for you. You are able to view the items that you have requested";
                }
                else
                {
                    foreach (GridViewRow row in grdItems.Rows)
                    {
                        grdItems.Rows[row.RowIndex].Enabled = true;
                    }

                    btnClose.Enabled = true;
                }
            }
            catch (Exception ex)
            {
                confirmation.Attributes.Add("style", "display:block");
                lblMessage.Text = "An error has occurred. " + ex.Message;
            }
        }