public IngPurchaseOrdersController() { _factory = new PurchaseOrderFactory(); _Supplierfactory = new SupplierFactory(); _Storefactory = new StoreFactory(); _defaultCurrencyFactory = new DefaultCurrencyFactory(); _factoryTax = new Shared.Factory.Settings.TaxFactory(); //ViewBag.ListStore = GetListStore(); //lstStore = ViewBag.ListStore; //listStoreId = lstStore.Select(x => x.Value).ToList(); lstStore = (List <StoreModels>)ViewBag.StoreID.Items; listStoreId = lstStore.Select(x => x.Id).ToList(); //========== lstCompany = GetListCompany(); listCompanyId = lstCompany.Select(x => x.Value).ToList(); var lstCurData = _defaultCurrencyFactory.GetListDefaultCurrency(); foreach (var item in lstCurData) { lstCur.Add(new SelectListItem { Value = item.Id, Text = item.Symbol }); } }
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(); } }
public void addALineToAPurchaseOrder() { PurchaseOrderFactory s = new PurchaseOrderFactory(); PurchaseOrder res = s.createPurchaseOrder(); int lines = res.Lines.Count; s.addPurchaseOrderLine(2, "Box", res); int linesAfter = res.Lines.Count; Assert.IsTrue(linesAfter == (lines + 1)); }
protected void btnComplete_Click(object sender, EventArgs e) { try { if (ItemList.Count > 0) { PurchaseOrder tmpOrder = PurchaseOrderFactory.Create(); foreach (Item tmpItem in ItemList) { tmpOrder.Subtotal += tmpItem.Subtotal; tmpOrder.Taxes += (tmpItem.Subtotal * 0.15); tmpOrder.PurchaseOrderItemList.Add(tmpItem); } tmpOrder.Total = tmpOrder.Subtotal + tmpOrder.Taxes; tmpOrder.Status = "Pending"; tmpOrder.EmployeeId = tmpEmployee.Id; tmpOrder.OrderDate = DateTime.Now; if (VAL.Validate.cleanPurchaseOrder(tmpOrder)) { int OrderNumber = PurchaseOrderFactory.Submit(tmpOrder); confirmation.Attributes.Add("style", "display:block"); lblMessage.Text = "Purchase Order successfully submitted. Agreement ID is " + OrderNumber; ClearInputs(); ItemList.Clear(); grdItems.DataSource = null; ClearTotals(); totals.Visible = false; grdItems.Visible = false; txtName.Focus(); } } else { confirmation.Attributes.Add("style", "display:block"); lblMessage.Text = "Please add items to Purchase Order before submitting"; } } catch (Exception ex) { confirmation.Attributes.Add("style", "display:block"); lblMessage.Text = "An error has occurred. " + ex.Message; } }
public IngReceiptNoteController() { _factory = new ReceiptNoteFactory(); _Detailfactory = new ReceiptNoteDetailFactory(); _POfactory = new PurchaseOrderFactory(); _PODFactory = new PurchaseOrderDetailFactory(); _RTFactory = new ReturnNoteFactory(); _InventoryFactory = new InventoryFactory(); _UOMFactory = new UnitOfMeasureFactory(); _IngredientFactory = new IngredientFactory(); ViewBag.ListStore = GetListStore(); lstStore = ViewBag.ListStore; //listStoreId = lstStore.Select(x => x.Value).ToList(); //========== lstCompany = GetListCompany(); listCompanyId = lstCompany.Select(x => x.Value).ToList(); }
private void btnComplete_Click(object sender, EventArgs e) { try { if (ItemList.Count > 0) { PurchaseOrder tmpOrder = PurchaseOrderFactory.Create(); foreach (Item tmpItem in ItemList) { tmpOrder.Subtotal += tmpItem.Subtotal; tmpOrder.Taxes += (tmpItem.Subtotal * 0.15); tmpOrder.PurchaseOrderItemList.Add(tmpItem); } tmpOrder.Total = tmpOrder.Subtotal + tmpOrder.Taxes; tmpOrder.Status = "Pending"; tmpOrder.EmployeeId = tmpEmployee.Id; tmpOrder.OrderDate = DateTime.Now; if (VAL.Validate.cleanPurchaseOrder(tmpOrder)) { int OrderNumber = PurchaseOrderFactory.Submit(tmpOrder); MessageBox.Show("Purchase Order successfully submitted. Agreement ID is " + OrderNumber + "."); ClearInputs(); ItemList.Clear(); dgvItems.Rows.Clear(); ClearTotals(); pnlTotals.Visible = false; dgvItems.Visible = false; txtName.Focus(); } } else { MessageBox.Show("Please add items to Purchase Order before submitting."); } } catch (Exception ex) { MessageBox.Show(ex.Message, "An error has occurred"); } }
protected void btnCloseYes_Click(object sender, EventArgs e) { try { PurchaseOrderFactory.ClosePurchaseOrder(Order); Order.Status = "Closed"; grdOrders.Rows[grdOrders.SelectedRow.RowIndex].Cells[5].Text = Order.Status; grdOrders.Rows[grdOrders.SelectedRow.RowIndex].BackColor = System.Drawing.Color.Gray; pnlClose.Attributes.Add("style", "display:none"); btnCancelItems_Click(btnCancelItems, EventArgs.Empty); Employee OrderEmployee = EmployeeFactory.RetrieveByOrderNumber(Order.OrderNumber); PurchaseOrderFactory.EmailEmployee(OrderEmployee.Id, OrderEmployee.Email, Order.OrderNumber, Order.Total, ItemList); grdItems.SelectedIndex = -1; } catch (Exception ex) { btnCancelItems_Click(btnCancelItems, EventArgs.Empty); confirmation.Attributes.Add("style", "display:block"); lblMessage.Text = "An error has occurred. " + ex.Message + " Order status still updated to Closed"; } }
private void btnClose_Click(object sender, EventArgs e) { try { DialogResult dialogResult = MessageBox.Show("Do you wish to close the purchase order now?", "", MessageBoxButtons.YesNo); if (dialogResult == DialogResult.Yes) { PurchaseOrderFactory.ClosePurchaseOrder(Order); Order.Status = "Closed"; dgvOrders.Rows[selectedOrderIndex].Cells["Status"].Value = Order.Status; dgvOrders.Rows[selectedOrderIndex].DefaultCellStyle.BackColor = Color.Gray; btnCancelDeny.PerformClick(); btnCancelItems.PerformClick(); Employee OrderEmployee = EmployeeFactory.RetrieveByOrderNumber((int)dgvOrders.SelectedRows[0].Cells[0].Value); PurchaseOrderFactory.EmailEmployee(OrderEmployee.Id, OrderEmployee.Email, Order.OrderNumber, Order.Total, ItemList); } } catch (Exception ex) { MessageBox.Show(ex.Message, "An error has occurred"); } }
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(); } }
private void btnAddItem_Click(object sender, EventArgs e) { try { if (txtName.Text != string.Empty && txtDescription.Text != string.Empty && txtPurchaseLocation.Text != string.Empty && txtJustification.Text != string.Empty && txtPrice.Text != string.Empty && IsNumeric(txtPrice.Text) && txtQuantity.Text != string.Empty && Convert.ToInt32(txtQuantity.Text) > 0 && IsNumeric(txtQuantity.Text)) { Item tmpItem = ItemFactory.Create(); tmpItem.Name = txtName.Text; tmpItem.Description = txtDescription.Text; tmpItem.PurchaseLocation = txtPurchaseLocation.Text; tmpItem.Justification = txtJustification.Text; tmpItem.Price = Convert.ToDouble(txtPrice.Text); tmpItem.Quantity = Convert.ToInt32(txtQuantity.Text); tmpItem.Subtotal = tmpItem.Price * tmpItem.Quantity; tmpItem.OrderNumber = Order.OrderNumber; if (VAL.Validate.cleanItem(tmpItem)) { if (ItemList.Any(Item => Item.Name == tmpItem.Name) && ItemList.Any(Item => Item.Description == tmpItem.Description) && ItemList.Any(Item => Item.Price == tmpItem.Price) && ItemList.Any(Item => Item.PurchaseLocation == tmpItem.PurchaseLocation) && ItemList.Any(Item => Item.Justification == tmpItem.Justification)) { foreach (Item item in ItemList) { if (tmpItem.Name.Equals(item.Name) && tmpItem.Description.Equals(item.Description) && tmpItem.Price == item.Price && tmpItem.PurchaseLocation.Equals(item.PurchaseLocation) && tmpItem.Justification.Equals(item.Justification)) { item.Quantity += tmpItem.Quantity; item.Subtotal += tmpItem.Price * tmpItem.Quantity; int rowIndex = ItemList.IndexOf(item); dgvItems.Rows[rowIndex].Cells["Quantity"].Value = item.Quantity; dgvItems.Rows[rowIndex].Cells["Subtotal"].Value = item.Subtotal; tmpItem = item; txtName.Focus(); } } if (!tmpItem.Status.Equals("Pending")) { MessageBox.Show("Cannot modify item if its status is not set to Pending."); } else { bool result = ItemFactory.EmployeeModifyItem(tmpItem); if (result == true) { CalculateTotals(); double subtotal = Convert.ToDouble((txtSubtotal.Text as string).Trim('$')); double taxes = Convert.ToDouble((txtTaxes.Text as string).Trim('$')); double total = Convert.ToDouble((txtTotal.Text as string).Trim('$')); Order.Subtotal = subtotal; Order.Taxes = taxes; Order.Total = total; PurchaseOrderFactory.EmployeeUpdateTotals(Order); ItemList = ItemFactory.RetrieveByOrderNumber(tmpItem.OrderNumber); MessageBox.Show("Item #" + tmpItem.ItemId + " successfully updated. Purchase Order totals have also been updated."); dgvOrders.Rows[selectedOrderIndex].Cells["Subtotal"].Value = Order.Subtotal; dgvOrders.Rows[selectedOrderIndex].Cells["Taxes"].Value = Order.Taxes; dgvOrders.Rows[selectedOrderIndex].Cells["Total"].Value = Order.Total; dgvItems.DataSource = ItemList; if (!Order.Status.Equals("Closed")) { foreach (Item item in ItemList) { if (!item.Description.Equals("No longer needed")) { dgvItems.Rows[ItemList.IndexOf(item)].Cells["status"].Value = "Pending"; } } } } } } else { int itemId = ItemFactory.EmployeeAddItem(tmpItem, Order); if (itemId != 0) { ItemList.Add(tmpItem); CalculateTotals(); double subtotal = Convert.ToDouble((txtSubtotal.Text as string).Trim('$')); double taxes = Convert.ToDouble((txtTaxes.Text as string).Trim('$')); double total = Convert.ToDouble((txtTotal.Text as string).Trim('$')); Order.Subtotal = subtotal; Order.Taxes = taxes; Order.Total = total; PurchaseOrderFactory.EmployeeUpdateTotals(Order); ItemList = ItemFactory.RetrieveByOrderNumber(tmpItem.OrderNumber); MessageBox.Show("Item #" + itemId + " successfully added to Order #" + tmpItem.OrderNumber + ". Purchase Order totals have also been updated."); dgvOrders.Rows[selectedOrderIndex].Cells["Subtotal"].Value = Order.Subtotal; dgvOrders.Rows[selectedOrderIndex].Cells["Taxes"].Value = Order.Taxes; dgvOrders.Rows[selectedOrderIndex].Cells["Total"].Value = Order.Total; dgvItems.DataSource = ItemList; if (!Order.Status.Equals("Closed")) { foreach (Item item in ItemList) { if (!item.Description.Equals("No longer needed")) { dgvItems.Rows[ItemList.IndexOf(item)].Cells["status"].Value = "Pending"; } } } } } } } else { MessageBox.Show("Please fill in all fields before adding a new item."); } } catch (Exception ex) { MessageBox.Show(ex.Message, "An error has occurred"); } }
private void btnModify_Click(object sender, EventArgs e) { try { if (txtName.Text != string.Empty && txtDescription.Text != string.Empty && txtPurchaseLocation.Text != string.Empty && txtJustification.Text != string.Empty && txtPrice.Text != string.Empty && IsNumeric(txtPrice.Text) && txtQuantity.Text != string.Empty && Convert.ToInt32(txtQuantity.Text) > 0 && IsNumeric(txtQuantity.Text)) { int gridItemIndex = dgvItems.SelectedRows[0].Index; Item listItem = ItemList[gridItemIndex]; listItem.Name = txtName.Text; listItem.Description = txtDescription.Text; listItem.PurchaseLocation = txtPurchaseLocation.Text; listItem.Justification = txtJustification.Text; listItem.Price = Convert.ToDouble(txtPrice.Text); listItem.Quantity = Convert.ToInt32(txtQuantity.Text); listItem.Subtotal = listItem.Price * listItem.Quantity; if (txtModReason.Text != string.Empty) { listItem.ModificationReason = txtModReason.Text; } if (VAL.Validate.cleanItem(listItem)) { int itemIndex = ItemList.IndexOf(listItem); ItemList[itemIndex] = listItem; dgvItems.Rows[itemIndex].Cells["Name"].Value = listItem.Name; dgvItems.Rows[itemIndex].Cells["Description"].Value = listItem.Description; dgvItems.Rows[itemIndex].Cells["PurchaseLocation"].Value = listItem.PurchaseLocation; dgvItems.Rows[itemIndex].Cells["Justification"].Value = listItem.Justification; dgvItems.Rows[itemIndex].Cells["Price"].Value = listItem.Price; dgvItems.Rows[itemIndex].Cells["Quantity"].Value = listItem.Quantity; dgvItems.Rows[itemIndex].Cells["Subtotal"].Value = listItem.Subtotal; bool result = false; if (txtEmployee.Text != Settings.Default.EmployeeName.ToString()) { if (txtModReason.Text == string.Empty) { MessageBox.Show("Supervisor must supply a reason for modifying an employee's item."); } else { result = ItemFactory.EmployeeModifyItem(listItem); } } else { result = ItemFactory.EmployeeModifyItem(listItem); } if (result == true) { CalculateTotals(); double subtotal = Convert.ToDouble((txtSubtotal.Text as string).Trim('$')); double taxes = Convert.ToDouble((txtTaxes.Text as string).Trim('$')); double total = Convert.ToDouble((txtTotal.Text as string).Trim('$')); Order.Subtotal = subtotal; Order.Taxes = taxes; Order.Total = total; PurchaseOrderFactory.EmployeeUpdateTotals(Order); ItemList = ItemFactory.RetrieveByOrderNumber(listItem.OrderNumber); MessageBox.Show("Item #" + listItem.ItemId + " successfully updated. Purchase Order totals have also been updated."); txtName.Text = listItem.Name; txtDescription.Text = listItem.Description; txtPurchaseLocation.Text = listItem.PurchaseLocation; txtJustification.Text = listItem.Justification; txtPrice.Text = listItem.Price.ToString(); txtQuantity.Text = listItem.Quantity.ToString(); if (listItem.ModificationReason != null) { txtModReason.Text = listItem.ModificationReason; } dgvOrders.Rows[selectedOrderIndex].Cells["Subtotal"].Value = Order.Subtotal; dgvOrders.Rows[selectedOrderIndex].Cells["Taxes"].Value = Order.Taxes; dgvOrders.Rows[selectedOrderIndex].Cells["Total"].Value = Order.Total; dgvItems.DataSource = ItemList; dgvItems.Rows[selectedItemIndex].Selected = true; if (!Order.Status.Equals("Closed")) { foreach (Item item in ItemList) { if (!item.Description.Equals("No longer needed")) { dgvItems.Rows[ItemList.IndexOf(item)].Cells["status"].Value = "Pending"; } } } } dgvItems.Rows[itemIndex].Selected = true; } } } catch (Exception ex) { MessageBox.Show(ex.Message, "An error has occurred"); btnCancelEdit.PerformClick(); btnCancelItems.PerformClick(); btnCancelSearch.PerformClick(); } }
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"); } }
private void btnSearchDates_Click(object sender, EventArgs e) { try { OrderList.Clear(); 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")) { if (startDateChanged == false && endDateChanged == false) { OrderList = PurchaseOrderFactory.RetrieveByOtherSupervisor(DateTime.MinValue, DateTime.MinValue, OrderEmployee.Id, txtFilter.Text, txtEmployeeName.Text); } else if (startDateChanged == false && endDateChanged == true) { OrderList = PurchaseOrderFactory.RetrieveByOtherSupervisor(DateTime.MinValue, dtpEndDate.Value, OrderEmployee.Id, txtFilter.Text, txtEmployeeName.Text); } else if (startDateChanged == true && endDateChanged == false) { OrderList = PurchaseOrderFactory.RetrieveByOtherSupervisor(dtpStartDate.Value, DateTime.MinValue, OrderEmployee.Id, txtFilter.Text, txtEmployeeName.Text); } else if (startDateChanged == true && endDateChanged == true) { OrderList = PurchaseOrderFactory.RetrieveByOtherSupervisor(dtpStartDate.Value, dtpEndDate.Value, OrderEmployee.Id, txtFilter.Text, txtEmployeeName.Text); } } else { if (startDateChanged == false && endDateChanged == false) { OrderList = PurchaseOrderFactory.RetrieveByOther(DateTime.MinValue, DateTime.MinValue, OrderEmployee.Id, txtFilter.Text); } else if (startDateChanged == false && endDateChanged == true) { OrderList = PurchaseOrderFactory.RetrieveByOther(DateTime.MinValue, dtpEndDate.Value, OrderEmployee.Id, txtFilter.Text); } else if (startDateChanged == true && endDateChanged == false) { OrderList = PurchaseOrderFactory.RetrieveByOther(dtpStartDate.Value, DateTime.MinValue, OrderEmployee.Id, txtFilter.Text); } else if (startDateChanged == true && endDateChanged == true) { OrderList = PurchaseOrderFactory.RetrieveByOther(dtpStartDate.Value, dtpEndDate.Value, OrderEmployee.Id, txtFilter.Text); } } if (OrderList.Count == 0) { btnCancelSearch.PerformClick(); MessageBox.Show("No purchase orders were found for your search parameters."); } else { dgvOrders.DataSource = OrderList; ModifyPODataGrid(); dgvOrders.Visible = true; btnSelect.Visible = true; btnCancelSearch.Visible = true; lblPurchaseOrders.Visible = true; txtNumber.Clear(); txtNumber.Focus(); grpSearchOther.Enabled = false; grpSearchNumber.Enabled = false; grpFilter.Enabled = false; for (int i = 0; i < OrderList.Count; i++) { PurchaseOrder tmpOrder = OrderList[i]; if (!tmpOrder.Status.Equals("Pending")) { dgvOrders.Rows[i].DefaultCellStyle.BackColor = Color.Gray; } } } } catch (Exception ex) { MessageBox.Show(ex.Message, "An error has occurred"); } }
private void CreateButton_Click(object sender, RoutedEventArgs e) { #region validation ForceValidation(); if (Validation.GetHasError(PODateDatePicker)) { var sMessageDialog = new MessageDialog { Message = { Text = "ERROR: Fill required fields!" } }; DialogHost.Show(sMessageDialog, "RootDialog"); return; } if (SupplierComboBox.SelectedValue == null) { var sMessageDialog = new MessageDialog { Message = { Text = "ERROR: Select all fields!" } }; DialogHost.Show(sMessageDialog, "RootDialog"); return; } if (productItemsList.Count() == 0) { var sMessageDialog = new MessageDialog { Message = { Text = "There are no items in the purchase order,\nadd items!" } }; DialogHost.Show(sMessageDialog, "RootDialog"); return; } #endregion // Creating PO po.PODate = PODateDatePicker.SelectedDate.Value; po.ContactID = int.Parse(SupplierComboBox.SelectedValue.ToString()); PurchaseOrderFactory fac = new PurchaseOrderFactory(); fac.InsertPurchaseOrder(po); // Adding Products to PO using (var db = new AlphaElectricEntitiesDB()) { bool flag = false; // Multiple Products foreach (var item in productItemsList) { Product_PurchaseOrderBT po_prod = new Product_PurchaseOrderBT() { ProductID = item.ProductID, PurchaseOrderID = po.ID }; // LINQ query var query = from prod in db.Product_PurchaseOrderBT where prod.PurchaseOrderID == po.ID && prod.ProductID == po_prod.ProductID select prod; if (query.ToList().Count == 0) { po_prod.Quantity = item.Quantity; db.Product_PurchaseOrderBT.Add(po_prod); db.SaveChanges(); flag = true; } // Checks if existing ProductID and PurchaseOrderID exists // Used if item is added again else if (query.ToList().Count == 1) { foreach (var xx in query) { xx.Quantity += item.Quantity; } db.SaveChanges(); flag = true; } } productItemsList.Clear(); ClearItems(); Clear(); if (flag) { var sMessageDialog = new MessageDialog { Message = { Text = "Purchase Order added!" } }; DialogHost.Show(sMessageDialog, "RootDialog"); return; } } }
protected void btnSearchDates_Click(object sender, EventArgs e) { try { OrderList.Clear(); String[] names = Session["EmployeeName"].ToString().Split(' '); string firstName = names[0]; string lastName = names[1]; Employee OrderEmployee = EmployeeFactory.RetrieveByName(firstName, lastName); if (Session["AccessLevel"].ToString().Equals("C")) { if (dtpStartDate.SelectedDate.ToString().Equals("0001-01-01 12:00:00 AM") && dtpEndDate.SelectedDate.ToString().Equals("0001-01-01 12:00:00 AM")) { OrderList = PurchaseOrderFactory.RetrieveOrdersForProcessing(DateTime.MinValue, DateTime.MinValue, OrderEmployee.Id, txtFilter.Text, txtEmployeeName.Text, "C"); } else if (dtpStartDate.SelectedDate.ToString().Equals("0001-01-01 12:00:00 AM") && !dtpEndDate.SelectedDate.ToString().Equals("0001-01-01 12:00:00 AM")) { OrderList = PurchaseOrderFactory.RetrieveOrdersForProcessing(DateTime.MinValue, dtpEndDate.SelectedDate, OrderEmployee.Id, txtFilter.Text, txtEmployeeName.Text, "C"); } else if (!dtpStartDate.SelectedDate.ToString().Equals("0001-01-01 12:00:00 AM") && dtpEndDate.SelectedDate.ToString().Equals("0001-01-01 12:00:00 AM")) { OrderList = PurchaseOrderFactory.RetrieveOrdersForProcessing(dtpStartDate.SelectedDate, DateTime.MinValue, OrderEmployee.Id, txtFilter.Text, txtEmployeeName.Text, "C"); } else if (!dtpStartDate.SelectedDate.ToString().Equals("0001-01-01 12:00:00 AM") && !dtpEndDate.SelectedDate.ToString().Equals("0001-01-01 12:00:00 AM")) { OrderList = OrderList = PurchaseOrderFactory.RetrieveOrdersForProcessing(dtpStartDate.SelectedDate, dtpEndDate.SelectedDate, OrderEmployee.Id, txtFilter.Text, txtEmployeeName.Text, "C"); } } else { if (dtpStartDate.SelectedDate.ToString().Equals("0001-01-01 12:00:00 AM") && dtpEndDate.SelectedDate.ToString().Equals("0001-01-01 12:00:00 AM")) { OrderList = PurchaseOrderFactory.RetrieveOrdersForProcessing(DateTime.MinValue, DateTime.MinValue, OrderEmployee.Id, txtFilter.Text, txtEmployeeName.Text, "S"); } else if (dtpStartDate.SelectedDate.ToString().Equals("0001-01-01 12:00:00 AM") && !dtpEndDate.SelectedDate.ToString().Equals("0001-01-01 12:00:00 AM")) { OrderList = PurchaseOrderFactory.RetrieveOrdersForProcessing(DateTime.MinValue, dtpEndDate.SelectedDate, OrderEmployee.Id, txtFilter.Text, txtEmployeeName.Text, "S"); } else if (!dtpStartDate.SelectedDate.ToString().Equals("0001-01-01 12:00:00 AM") && dtpEndDate.SelectedDate.ToString().Equals("0001-01-01 12:00:00 AM")) { OrderList = PurchaseOrderFactory.RetrieveOrdersForProcessing(dtpStartDate.SelectedDate, DateTime.MinValue, OrderEmployee.Id, txtFilter.Text, txtEmployeeName.Text, "S"); } else if (!dtpStartDate.SelectedDate.ToString().Equals("0001-01-01 12:00:00 AM") && !dtpEndDate.SelectedDate.ToString().Equals("0001-01-01 12:00:00 AM")) { OrderList = PurchaseOrderFactory.RetrieveOrdersForProcessing(dtpStartDate.SelectedDate, dtpEndDate.SelectedDate, OrderEmployee.Id, txtFilter.Text, txtEmployeeName.Text, "S"); } } if (OrderList.Count == 0) { btnCancelSearch_Click(btnCancelSearch, EventArgs.Empty); confirmation.Attributes.Add("style", "display:block"); lblMessage.Text = "No purchase orders were found for your search parameters"; } else { grdOrders.DataSource = OrderList; grdOrders.DataBind(); grdOrders.Visible = true; btnCancelSearch.Visible = true; searchPanel.Enabled = false; lblMessage.Text = ""; confirmation.Attributes.Add("style", "display:none"); for (int i = 0; i < OrderList.Count; i++) { OrdersForProcessing tmpOrder = OrderList[i]; if (!tmpOrder.Status.Equals("Pending")) { grdOrders.Rows[i].BackColor = System.Drawing.Color.Gray; } } } } catch (Exception ex) { confirmation.Attributes.Add("style", "display:block"); lblMessage.Text = "An error has occurred. " + ex.Message; } }
private void btnDenyFinal_Click(object sender, EventArgs e) { try { if (txtDeny.Text != string.Empty) { int gridItemIndex = dgvItems.SelectedRows[0].Index; Item listItem = ItemList[gridItemIndex]; if (listItem.Description.Equals("No longer needed")) { MessageBox.Show("Item has been marked as no longer needed by the employee. Unable to process."); } else if (listItem.Status.Equals("Denied")) { MessageBox.Show("Item status is already set to Denied."); } else { listItem.Status = "Denied"; Order.Status = "Under Review"; listItem.ModificationReason = txtDeny.Text; int itemIndex = ItemList.IndexOf(listItem); ItemList[itemIndex] = listItem; string[] names = Settings.Default.EmployeeName.ToString().Split(' '); string firstName = names[0]; string lastName = names[1]; Employee CurrentEmployee = EmployeeFactory.RetrieveByName(firstName, lastName); bool result = ItemFactory.DenyItem(listItem, CurrentEmployee.Id, listItem.ModificationReason); if (result == true) { MessageBox.Show("Item status has been successfully updated to Denied."); dgvItems.Rows[itemIndex].Cells["Status"].Value = listItem.Status; dgvItems.Rows[itemIndex].Cells["description"].Value = listItem.Description; dgvItems.Rows[itemIndex].Cells["modificationReason"].Value = listItem.ModificationReason; dgvItems.Rows[itemIndex].DefaultCellStyle.BackColor = Color.Red; dgvOrders.Rows[selectedOrderIndex].Cells["Status"].Value = Order.Status; btnCancelDeny.PerformClick(); int itemCount = 0; foreach (Item item in ItemList) { if (item.Status.Equals("Approved") || item.Status.Equals("Denied")) { itemCount += 1; } } if (itemCount == ItemList.Count) { DialogResult dialogResult = MessageBox.Show("All Items Have Been Processed. Do you wish to close the purchase order now?", "", MessageBoxButtons.YesNo); if (dialogResult == DialogResult.Yes) { PurchaseOrderFactory.ClosePurchaseOrder(Order); Order.Status = "Closed"; dgvOrders.Rows[selectedOrderIndex].Cells["Status"].Value = Order.Status; dgvOrders.Rows[selectedOrderIndex].DefaultCellStyle.BackColor = Color.Gray; btnCancelDeny.PerformClick(); btnCancelItems.PerformClick(); Employee OrderEmployee = EmployeeFactory.RetrieveByOrderNumber((int)dgvOrders.SelectedRows[0].Cells[0].Value); PurchaseOrderFactory.EmailEmployee(OrderEmployee.Id, OrderEmployee.Email, Order.OrderNumber, Order.Total, ItemList); } else if (dialogResult == DialogResult.No) { btnCancelDeny.PerformClick(); } } } } } else { MessageBox.Show("Please enter a reason for item denial."); } } catch (Exception ex) { MessageBox.Show(ex.Message, "An error has occurred"); } }
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"); } }
public void createEmptyPurchaseOrder() { PurchaseOrder res = new PurchaseOrderFactory().createPurchaseOrder(); Assert.IsNotNull(res.CreateDate); }
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; } }