private void EditInventoryManagement_Load(object sender, EventArgs e) { XuLy.getTransactionTypes(cbbTransactionType); XuLy.getSuppliers(cbbSuppliers); XuLy.getWarehouses(cbbSourceWarehouse); XuLy.getWarehouses(cbbDestinationWarehouse); XuLy.getParts(cbbPartName); InventoryManagementView viewOld = Program.oldEdit; cbbTransactionType.SelectedValue = viewOld.TransactionTypeID; if (viewOld.TransactionTypeID == 1) { cbbSuppliers.SelectedValue = viewOld.SupplierID; cbbSourceWarehouse.Enabled = false; cbbSourceWarehouse.SelectedIndex = -1; } else { cbbSourceWarehouse.SelectedValue = viewOld.SourceWarehouseID; cbbSuppliers.Enabled = false; cbbSuppliers.SelectedIndex = -1; } cbbDestinationWarehouse.SelectedValue = viewOld.DestinationWarehouseID; cbbPartName.SelectedValue = viewOld.PartID; dtpDate.Value = viewOld.Date; txtAmount.Text = viewOld.Amount.ToString(); txtBatchNumber.Text = viewOld.BatchNumber; }
private void btnUpdate_Click(object sender, EventArgs e) { if (((int)cbbTransactionType.SelectedValue == 1 && cbbSuppliers.SelectedIndex == -1) || ((int)cbbTransactionType.SelectedValue == 2 && cbbSourceWarehouse.SelectedIndex == -1) || txtAmount.Text == "") { lbWarning.Text = "Please enter information!"; } else { if ((int)cbbTransactionType.SelectedValue == 2 && ((int)cbbSourceWarehouse.SelectedValue == (int)cbbDestinationWarehouse.SelectedValue)) { lbWarning.Text = "Source and the Destination Warehouses can't be the same"; } else { float R = XuLy.getReceivedAmount((int)cbbSourceWarehouse.SelectedValue, (int)cbbPartName.SelectedValue, txtBatchNumber.Text); float T = XuLy.getTransferredAmount((int)cbbSourceWarehouse.SelectedValue, (int)cbbPartName.SelectedValue, txtBatchNumber.Text); if (R - T - int.Parse(txtAmount.Text) + Program.oldEdit.Amount < 0) { MessageBox.Show("Max amount remain: " + (R - T), ""); } else { InventoryManagementView viewOld = Program.oldEdit; InventoryManagementView viewNew = new InventoryManagementView(); viewNew.TransactionTypeID = (int)cbbTransactionType.SelectedValue; if ((int)cbbTransactionType.SelectedValue == 1) { viewNew.SupplierID = (int)cbbSuppliers.SelectedValue; } else { viewNew.SourceWarehouseID = (int)cbbSourceWarehouse.SelectedValue; } viewNew.DestinationWarehouseID = (int)cbbDestinationWarehouse.SelectedValue; viewNew.PartID = (int)cbbPartName.SelectedValue; viewNew.Amount = int.Parse(txtAmount.Text); viewNew.Date = dtpDate.Value; viewNew.OrderID = viewOld.OrderID; viewNew.OrderItemsID = viewOld.OrderItemsID; XuLy.EditInventoryManagement(viewNew); this.Close(); Program.list = XuLy.getInventoryManagementView(); Program.f.viewInventoryTable(Program.list); Program.f.dgv1.ClearSelection(); for (int i = 0; i < Program.list.Count; i++) { if (Program.list[i].OrderItemsID == viewNew.OrderItemsID) { Program.f.dgv1.Rows[i].Selected = true; break; } } } } } }
public static List <InventoryManagementView> getInventoryManagementView() { conn.Open(); string sql = "select Parts.Name,TransactionTypes.Name,Date,Amount,Suppliers.Name,wh1.Name,wh2.Name,Orders.ID,Orderitems.ID,TransactionTypes.ID,Suppliers.ID,wh1.ID,wh2.ID,Parts.ID,BatchNumber " + "from Orders INNER JOIN Orderitems ON Orders.ID = Orderitems.OrderID " + "LEFT JOIN Suppliers ON Orders.SupplierID=Suppliers.ID " + "LEFT JOIN Warehouses wh1 ON Orders.SourceWarehouseID = wh1.ID " + "INNER JOIN Warehouses wh2 ON Orders.DestinationWarehouseID = wh2.ID " + "INNER JOIN TransactionTypes ON Orders.TransactionTypeID = TransactionTypes.ID " + "INNER JOIN Parts ON Orderitems.PartID = Parts.ID " + "order by Date, TransactionTypes.ID"; SqlCommand cmd = new SqlCommand(sql, conn); SqlDataReader dr = cmd.ExecuteReader(); List <InventoryManagementView> list = new List <InventoryManagementView>(); while (dr.Read()) { InventoryManagementView view = new InventoryManagementView(); view.PartName = dr.GetString(0); view.TransactionType = dr.GetString(1); view.Date = dr.GetDateTime(2); view.Amount = dr.GetDouble(3); view.TransactionTypeID = dr.GetInt32(9); if (view.TransactionTypeID == 1) { view.Supplier = dr.GetString(4); view.SupplierID = dr.GetInt32(10); } if (view.TransactionTypeID == 2) { view.SourceWarehouse = dr.GetString(5); view.SourceWarehouseID = dr.GetInt32(11); } view.DestinationWarehouse = dr.GetString(6); view.OrderID = dr.GetInt32(7); view.OrderItemsID = dr.GetInt32(8); view.DestinationWarehouseID = dr.GetInt32(12); view.PartID = dr.GetInt32(13); view.BatchNumber = dr.GetString(14); list.Add(view); } conn.Close(); return(list); }
public static void EditInventoryManagement(InventoryManagementView view) { conn.Open(); string sql = "update OrderItems " + "set PartID=@PartID, Amount=@Amount " + "where ID=@OrderItemsID and OrderID=@OrderID"; SqlCommand cmd = new SqlCommand(sql, conn); cmd.Parameters.AddWithValue("PartID", view.PartID); cmd.Parameters.AddWithValue("Amount", view.Amount); cmd.Parameters.AddWithValue("OrderItemsID", view.OrderItemsID); cmd.Parameters.AddWithValue("OrderID", view.OrderID); cmd.ExecuteNonQuery(); conn.Close(); conn.Open(); sql = "update Orders " + "set TransactionTypeID=@TransactionTypeID, SupplierID=@SupplierID, SourceWarehouseID=@SourceWarehouseID, DestinationWarehouseID=@DestinationWarehouseID, Date=@Date " + "where ID=@OrderID"; cmd = new SqlCommand(sql, conn); cmd.Parameters.AddWithValue("TransactionTypeID", view.TransactionTypeID); if (view.TransactionTypeID == 1) { cmd.Parameters.AddWithValue("SupplierID", view.SupplierID); cmd.Parameters.AddWithValue("SourceWarehouseID", DBNull.Value); } else { cmd.Parameters.AddWithValue("SupplierID", DBNull.Value); cmd.Parameters.AddWithValue("SourceWarehouseID", view.SourceWarehouseID); } cmd.Parameters.AddWithValue("DestinationWarehouseID", view.DestinationWarehouseID); cmd.Parameters.AddWithValue("Date", view.Date); cmd.Parameters.AddWithValue("OrderID", view.OrderID); cmd.ExecuteNonQuery(); conn.Close(); }
private void dgv1_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) { List <InventoryManagementView> list = Program.list; if (e.ColumnIndex == 0) { if (sortAscending) { list.Sort((x, y) => x.PartName.CompareTo(y.PartName)); } else { list.Sort((x, y) => y.PartName.CompareTo(x.PartName)); } } if (e.ColumnIndex == 1) { if (sortAscending) { list.Sort((x, y) => x.TransactionType.CompareTo(y.TransactionType)); } else { list.Sort((x, y) => y.TransactionType.CompareTo(x.TransactionType)); } } if (e.ColumnIndex == 2) { if (sortAscending) { list.Sort(delegate(InventoryManagementView a, InventoryManagementView b) { int xdiff = a.Date.CompareTo(b.Date); if (xdiff != 0) { return(xdiff); } else { return(a.TransactionTypeID.CompareTo(b.TransactionTypeID)); } }); } else { list.Sort(delegate(InventoryManagementView a, InventoryManagementView b) { int xdiff = b.Date.CompareTo(a.Date); if (xdiff != 0) { return(xdiff); } else { return(a.TransactionTypeID.CompareTo(b.TransactionTypeID)); } }); } } if (e.ColumnIndex == 3) { if (sortAscending) { list.Sort((x, y) => x.Amount.CompareTo(y.Amount)); } else { list.Sort((x, y) => y.Amount.CompareTo(x.Amount)); } } if (e.ColumnIndex == 4) { List <string> source = new List <string>(); for (int i = 0; i < list.Count; i++) { if (list[i].TransactionTypeID == 1) { source.Add(list[i].Supplier); } else { source.Add(list[i].SourceWarehouse); } } if (sortAscending) { for (int i = 0; i < list.Count - 1; i++) { for (int j = i + 1; j < list.Count; j++) { if (String.Compare(source[i], source[j]) > 0) { string st = source[i]; source[i] = source[j]; source[j] = st; InventoryManagementView temp = list[i]; list[i] = list[j]; list[j] = temp; } } } } else { for (int i = 0; i < list.Count - 1; i++) { for (int j = i + 1; j < list.Count; j++) { if (String.Compare(source[i], source[j]) < 0) { string st = source[i]; source[i] = source[j]; source[j] = st; InventoryManagementView temp = list[i]; list[i] = list[j]; list[j] = temp; } } } } } if (e.ColumnIndex == 5) { if (sortAscending) { list.Sort((x, y) => x.DestinationWarehouse.CompareTo(y.DestinationWarehouse)); } else { list.Sort((x, y) => y.DestinationWarehouse.CompareTo(x.DestinationWarehouse)); } } viewInventoryTable(list); Program.list = list; sortAscending = !sortAscending; }