Пример #1
0
        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();
            //}
        }
Пример #2
0
        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();
                }
            }
        }
Пример #3
0
        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();
            }
        }
Пример #4
0
        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();
            //}
        }
Пример #5
0
        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();
            }
        }
Пример #6
0
        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();
                }
            }
        }
Пример #7
0
        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;
            //        }
            //    }
            //}
        }