private void dgvTransactionDetails_CellValidated(object sender, DataGridViewCellEventArgs e) { if (dgvTransactionDetails.Columns[e.ColumnIndex].Name == "TransactCostColumn" && e.RowIndex >= 0) { TransactionDataSet.TransactionDetailsRow tr = (TransactionDataSet.TransactionDetailsRow)((DataRowView)(dgvTransactionDetails.Rows[e.RowIndex].DataBoundItem)).Row; tr.TotalCost = tr.TransactCost * tr.TransactQuantity; InventoryStoreDataSetTableAdapters.tblInventoryTableAdapter adp = new InventoryStoreDataSetTableAdapters.tblInventoryTableAdapter(); Decimal OldQty = Convert.ToDecimal(adp.GetQuantity(tr.ProductID, tr.FromWareHouseID, tr.TransactCost)); TransactionDataSet.TransactionStockInformationRow trs = (TransactionDataSet.TransactionStockInformationRow)dtTransactionStockInformation.Select("TransactionDetailID=" + tr.TransactionDetailID)[0]; trs.Cost = tr.TransactCost; trs.OldQuantity = OldQty; trs.NewQuantity = OldQty + tr.TransactQuantity; dgvTransactionDetails.Refresh(); } //else if (dgvTransactionDetails.Columns[e.ColumnIndex].Name == "TransactQuantityColumn" && e.RowIndex >= 0) //{ // TransactionDataSet.TransactionDetailsRow tr = (TransactionDataSet.TransactionDetailsRow)((DataRowView)(dgvTransactionDetails.Rows[e.RowIndex].DataBoundItem)).Row; // tr.TotalCost = tr.TransactCost * tr.TransactQuantity; // TransactionDataSet.TransactionStockInformationRow trs = (TransactionDataSet.TransactionStockInformationRow)dtTransactionStockInformation.Select("TransactionDetailID=" + tr.TransactionDetailID)[0]; // trs.TransactQuantity = tr.TransactQuantity; // trs.NewQuantity = trs.OldQuantity + tr.TransactQuantity; // dgvTransactionDetails.Refresh(); //} }
private void dgvTransactionDetails_CellClick(object sender, DataGridViewCellEventArgs e) { if (dgvTransactionDetails.Columns[e.ColumnIndex].Name == "TransactQuantityColumn" && e.RowIndex >= 0) { TransactionDataSet.TransactionDetailsRow tr = (TransactionDataSet.TransactionDetailsRow)((DataRowView)(dgvTransactionDetails.Rows[e.RowIndex].DataBoundItem)).Row; ViewStockChangeInformation frmStock = new ViewStockChangeInformation(); frmStock.dt = dtTransactionStockInformation; frmStock.TransactionDetailID = tr.TransactionDetailID; frmStock.ActionType = WhistlingPalms.ActionType.Deduction.ToString(); frmStock.WareHouseName = tr.FromWareHouseName; frmStock.FullProductName = tr.ProductName + ", " + tr.Manufacturer; if (frmStock.ShowDialog() == DialogResult.OK) { decimal TotalTransactQty = 0; foreach (TransactionDataSet.TransactionStockInformationRow tsr in frmStock.dt.Rows) { if (tsr.TransactionDetailID == tr.TransactionDetailID) { TotalTransactQty += tsr.TransactQuantity; } } tr.TransactQuantity = TotalTransactQty; tr.TotalCost = tr.TransactCost * tr.TransactQuantity; dgvTransactionDetails.Refresh(); } } }
private void btnAddToTransaction_Click(object sender, EventArgs e) { if (ValidateTransactionDetails()) { DataRowView drProduct; DataRowView drWareHouse; drProduct = cmbProducts.SelectedItem as DataRowView; int ProductID = Convert.ToInt32(drProduct.Row["ProductID"]); drWareHouse = cmbWareHouse.SelectedItem as DataRowView; int WareHouseID = Convert.ToInt32(drWareHouse.Row["WareHouseID"]); Decimal TransactCost = Convert.ToDecimal(txtCost.Text.Trim()); Decimal TransactQuantity = Convert.ToDecimal(txtQuantity.Text.Trim()); InventoryStoreDataSetTableAdapters.tblInventoryTableAdapter adp = new InventoryStoreDataSetTableAdapters.tblInventoryTableAdapter(); InventoryStoreDataSet.tblInventoryDataTable dtInventory = adp.GetDataByProductAndWareHouse(ProductID, WareHouseID); TransactionDataSet.TransactionDetailsRow drTransactionDetail = dtTransactionDetails.NewTransactionDetailsRow(); drTransactionDetail.ProductID = ProductID; drTransactionDetail.ProductName = drProduct.Row["ProductName"].ToString(); drTransactionDetail.Manufacturer = drProduct.Row["Manufacturer"].ToString(); drTransactionDetail.FromWareHouseID = WareHouseID; drTransactionDetail.FromWareHouseName = drWareHouse.Row["WareHouseName"].ToString(); drTransactionDetail.SetToWareHouseIDNull(); drTransactionDetail.SetToWareHouseNameNull(); drTransactionDetail.TransactQuantity = TransactQuantity; drTransactionDetail.TransactCost = TransactCost; drTransactionDetail.TotalCost = TransactCost * TransactQuantity; drTransactionDetail.TransactionID = 0; dtTransactionDetails.AddTransactionDetailsRow(drTransactionDetail); foreach (InventoryStoreDataSet.tblInventoryRow drInventory in dtInventory.Rows) { Decimal OldQty = drInventory.Quantity; TransactionDataSet.TransactionStockInformationRow drTransactionStockInformation = dtTransactionStockInformation.NewTransactionStockInformationRow(); drTransactionStockInformation.Cost = drInventory.Cost; drTransactionStockInformation.OldQuantity = OldQty; drTransactionStockInformation.NewQuantity = (TransactQuantity > OldQty) ? 0 : OldQty - TransactQuantity; drTransactionStockInformation.TransactionDetailID = drTransactionDetail.TransactionDetailID; drTransactionStockInformation.TransactQuantity = (TransactQuantity > OldQty) ? OldQty : TransactQuantity; drTransactionStockInformation.IsFromWareHouse = true; dtTransactionStockInformation.AddTransactionStockInformationRow(drTransactionStockInformation); if (TransactQuantity > OldQty) { TransactQuantity = TransactQuantity - OldQty; } else { TransactQuantity = 0; } } dgvTransactionDetails.Refresh(); } }
private void dgvTransactionDetails_CellValidated(object sender, DataGridViewCellEventArgs e) { if (dgvTransactionDetails.Columns[e.ColumnIndex].Name == "TransactCostColumn" && e.RowIndex >= 0) { TransactionDataSet.TransactionDetailsRow tr = (TransactionDataSet.TransactionDetailsRow)((DataRowView)(dgvTransactionDetails.Rows[e.RowIndex].DataBoundItem)).Row; tr.TotalCost = tr.TransactCost * tr.TransactQuantity; dgvTransactionDetails.Refresh(); } //else if (dgvTransactionDetails.Columns[e.ColumnIndex].Name == "TransactQuantityColumn" && e.RowIndex >= 0) //{ // TransactionDataSet.TransactionDetailsRow tr = (TransactionDataSet.TransactionDetailsRow)((DataRowView)(dgvTransactionDetails.Rows[e.RowIndex].DataBoundItem)).Row; // tr.TotalCost = tr.TransactCost * tr.TransactQuantity; // DataRow[] trs = dtTransactionStockInformation.Select("TransactionDetailID=" + tr.TransactionDetailID); // foreach (DataRow r in trs) // { // r.Delete(); // } // InventoryStoreDataSetTableAdapters.tblInventoryTableAdapter adp = new InventoryStoreDataSetTableAdapters.tblInventoryTableAdapter(); // InventoryStoreDataSet.tblInventoryDataTable dtInventory = adp.GetDataByProductAndWareHouse(tr.ProductID, tr.FromWareHouseID); // Decimal TransactQuantity = tr.TransactQuantity; // foreach (InventoryStoreDataSet.tblInventoryRow drInventory in dtInventory.Rows) // { // Decimal OldQty = drInventory.Quantity; // TransactionDataSet.TransactionStockInformationRow drTransactionStockInformation = dtTransactionStockInformation.NewTransactionStockInformationRow(); // drTransactionStockInformation.Cost = drInventory.Cost; // drTransactionStockInformation.OldQuantity = OldQty; // drTransactionStockInformation.NewQuantity = (TransactQuantity > OldQty) ? 0 : OldQty - TransactQuantity; // drTransactionStockInformation.TransactionDetailID = tr.TransactionDetailID; // drTransactionStockInformation.ProductName = tr.ProductName; // drTransactionStockInformation.FromWareHouseName = tr.FromWareHouseName; // drTransactionStockInformation.SetToWareHouseNameNull(); // drTransactionStockInformation.TransactQuantity = (TransactQuantity > OldQty) ? OldQty : TransactQuantity; // dtTransactionStockInformation.AddTransactionStockInformationRow(drTransactionStockInformation); // if (TransactQuantity > OldQty) // { // TransactQuantity = TransactQuantity - OldQty; // } // else // { // TransactQuantity = 0; // } // } // dgvTransactionDetails.Refresh(); //} }
private void btnAddToTransaction_Click(object sender, EventArgs e) { if (ValidateTransactionDetails()) { DataRowView drProduct; DataRowView drWareHouse; drProduct = cmbProducts.SelectedItem as DataRowView; int ProductID = Convert.ToInt32(drProduct.Row["ProductID"]); drWareHouse = cmbWareHouse.SelectedItem as DataRowView; int WareHouseID = Convert.ToInt32(drWareHouse.Row["WareHouseID"]); Decimal TransactCost = Convert.ToDecimal(txtCost.Text.Trim()); Decimal TransactQuantity = Convert.ToDecimal(txtQuantity.Text.Trim()); InventoryStoreDataSetTableAdapters.tblInventoryTableAdapter adp = new InventoryStoreDataSetTableAdapters.tblInventoryTableAdapter(); Decimal OldQty = Convert.ToDecimal(adp.GetQuantity(ProductID, WareHouseID, TransactCost)); TransactionDataSet.TransactionDetailsRow drTransactionDetail = dtTransactionDetails.NewTransactionDetailsRow(); TransactionDataSet.TransactionStockInformationRow drTransactionStockInformation = dtTransactionStockInformation.NewTransactionStockInformationRow(); drTransactionDetail.ProductID = ProductID; drTransactionDetail.ProductName = drProduct.Row["ProductName"].ToString(); drTransactionDetail.Manufacturer = drProduct.Row["Manufacturer"].ToString(); drTransactionDetail.FromWareHouseID = WareHouseID; drTransactionDetail.FromWareHouseName = drWareHouse.Row["WareHouseName"].ToString(); drTransactionDetail.SetToWareHouseIDNull(); drTransactionDetail.SetToWareHouseNameNull(); drTransactionDetail.TransactQuantity = TransactQuantity; drTransactionDetail.TransactCost = TransactCost; drTransactionDetail.TotalCost = TransactCost * TransactQuantity; drTransactionDetail.TransactionID = 0; //Object objTrID = dt.Compute("MAX(TransactionDetailID)", ""); //tr.TransactionDetailID = Convert.ToInt32(objTrID == DBNull.Value ? 0 : objTrID) + 1; dtTransactionDetails.AddTransactionDetailsRow(drTransactionDetail); drTransactionStockInformation.Cost = TransactCost; drTransactionStockInformation.OldQuantity = OldQty; drTransactionStockInformation.NewQuantity = OldQty + TransactQuantity; drTransactionStockInformation.TransactionDetailID = drTransactionDetail.TransactionDetailID; drTransactionStockInformation.TransactQuantity = TransactQuantity; drTransactionStockInformation.IsFromWareHouse = true; dtTransactionStockInformation.AddTransactionStockInformationRow(drTransactionStockInformation); dgvTransactionDetails.Refresh(); } }
private void dgvTransactionDetails_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (dgvTransactionDetails.Columns[e.ColumnIndex].Name == "DeleteColumn" && e.RowIndex >= 0) { if (MessageBox.Show("Are you sure you want to delete this transaction record?", "Confirm Delete", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) == DialogResult.Yes) { TransactionDataSet.TransactionDetailsRow tr = (TransactionDataSet.TransactionDetailsRow)((DataRowView)(dgvTransactionDetails.Rows[e.RowIndex].DataBoundItem)).Row; DataRow[] drs = dtTransactionStockInformation.Select("TransactionDetailID=" + tr.TransactionDetailID.ToString()); foreach (DataRow r in drs) { r.Delete(); } dtTransactionDetails.Rows.Find(tr.TransactionDetailID).Delete(); dgvTransactionDetails.Refresh(); } } else if (dgvTransactionDetails.Columns[e.ColumnIndex].Name == "StockInformationButtonColumn" && e.RowIndex >= 0) { TransactionDataSet.TransactionDetailsRow tr = (TransactionDataSet.TransactionDetailsRow)((DataRowView)(dgvTransactionDetails.Rows[e.RowIndex].DataBoundItem)).Row; ViewTransferredStockChangeInformation frmStock = new ViewTransferredStockChangeInformation(); frmStock.dt = dtTransactionStockInformation; frmStock.TransactionDetailID = tr.TransactionDetailID; frmStock.ActionType = WhistlingPalms.ActionType.Transfer.ToString(); frmStock.FromWareHouseName = tr.FromWareHouseName; frmStock.ToWareHouseName = tr.ToWareHouseName; frmStock.FullProductName = tr.ProductName + ", " + tr.Manufacturer; if (frmStock.ShowDialog() == DialogResult.OK) { decimal TotalTransactQty = 0; foreach (TransactionDataSet.TransactionStockInformationRow tsr in frmStock.dt.Rows) { if (tsr.TransactionDetailID == tr.TransactionDetailID && tsr.IsFromWareHouse == true) { TotalTransactQty += tsr.TransactQuantity; } } tr.TransactQuantity = TotalTransactQty; dgvTransactionDetails.Refresh(); } } }
private void dgvTransactionDetails_CellValidating(object sender, DataGridViewCellValidatingEventArgs e) { if (dgvTransactionDetails.Columns[e.ColumnIndex].Name == "TransactCostColumn" && e.RowIndex >= 0) { bool HasError = false; Decimal dummy = 0; if (string.IsNullOrEmpty(e.FormattedValue.ToString().Trim())) { MessageBox.Show("Transact Cost is required.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); HasError = true; } else { if (Decimal.TryParse(e.FormattedValue.ToString().Trim(), out dummy)) { if (dummy <= 0) { MessageBox.Show("Transact Cost should be more than zero.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); HasError = true; } } else { MessageBox.Show("Transact Cost should be a valid decimal.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); HasError = true; } } //Restrict duplicate entries only if Product Cost is a valid decimal greater than zero if (!HasError) { TransactionDataSet.TransactionDetailsRow editedRow = (TransactionDataSet.TransactionDetailsRow)((DataRowView)(dgvTransactionDetails.Rows[e.RowIndex].DataBoundItem)).Row; foreach (TransactionDataSet.TransactionDetailsRow tr in dtTransactionDetails.Rows) { if (tr.ProductID == editedRow.ProductID && tr.FromWareHouseID == editedRow.FromWareHouseID && tr.TransactCost == dummy && tr.TransactionDetailID != editedRow.TransactionDetailID) { MessageBox.Show("The record has already been added to Transaction Details." + Environment.NewLine + "Duplicate entries are not allowed in transaction details.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); HasError = true; break; } } } e.Cancel = HasError; } //else if (dgvTransactionDetails.Columns[e.ColumnIndex].Name == "TransactQuantityColumn" && e.RowIndex >= 0) //{ // if (string.IsNullOrEmpty(e.FormattedValue.ToString().Trim())) // { // MessageBox.Show("Transact Quantity is required.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); // e.Cancel = true; // } // else // { // Decimal dummy = 0; // if (Decimal.TryParse(e.FormattedValue.ToString().Trim(), out dummy)) // { // if (dummy <= 0) // { // MessageBox.Show("Transact Quantity should be more than zero.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); // e.Cancel = true; // } // } // else // { // MessageBox.Show("Transact Quantity should be a valid decimal.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); // e.Cancel = true; // } // } //} }