private void C_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                if (sender is TextBox)
                {
                    TextBox activeControl = (sender as TextBox);

                    if (activeControl.Name == "txtTransactAccount" && String.IsNullOrWhiteSpace(activeControl.Text))
                    {
                        PharmaBusinessObjects.Common.AccountLedgerType accountLedgerMaster = new PharmaBusinessObjects.Common.AccountLedgerType()
                        {
                            AccountLedgerTypeName = Constants.AccountLedgerTypeText.TransactionBooks
                        };

                        frmAccountLedgerMaster formTransactionBook = new frmAccountLedgerMaster();
                        //Set Child UI
                        ExtensionMethods.AddChildFormToPanel(this, formTransactionBook, ExtensionMethods.MainPanel);
                        formTransactionBook.WindowState = FormWindowState.Maximized;
                        formTransactionBook.FormClosed += FormTransactionBook_FormClosed;
                        formTransactionBook.Show();
                        formTransactionBook.IsInChildMode = true;
                        formTransactionBook.ConfigureAccountLedger(accountLedgerMaster);
                    }
                    else
                    {
                        SendKeys.Send("{TAB}");
                    }
                }
                else if (sender is MaskedTextBox)
                {
                    if (IsInEditMode)
                    {
                        frmTransactions frmTrans = new frmTransactions(ExtensionMethods.ConvertToSystemDateFormat(dtReceiptPayment.Text), Constants.TransactionEntityType.SupplierLedger);
                        frmTrans.Show();
                        frmTrans.FormClosed += FrmTrans_FormClosed;
                    }
                    else
                    {
                        SendKeys.Send("{TAB}");
                    }
                }
                else
                {
                    SendKeys.Send("{TAB}");
                }
            }
        }
        private void Grid_CellNextlAction()
        {
            int    rowIndex   = dgvReceiptFromCustomer.CurrentRow.Index;
            string columnName = dgvReceiptFromCustomer.Columns[dgvReceiptFromCustomer.SelectedCells[0].ColumnIndex].Name;

            if (columnName == "LedgerTypeCode")
            {
                if (string.IsNullOrEmpty(Convert.ToString(dgvReceiptFromCustomer.CurrentCell.Value)))
                {
                    frmCustomerLedgerMaster formCustomerLedgerMaster = new frmCustomerLedgerMaster();
                    formCustomerLedgerMaster.IsInChildMode = true;
                    //Set Child UI
                    ExtensionMethods.AddChildFormToPanel(this, formCustomerLedgerMaster, ExtensionMethods.MainPanel);
                    formCustomerLedgerMaster.WindowState = FormWindowState.Maximized;

                    formCustomerLedgerMaster.FormClosed += FormCustomerLedgerMaster_FormClosed;
                    formCustomerLedgerMaster.Show();
                }
                else
                {
                    dgvReceiptFromCustomer.CurrentCell = dgvReceiptFromCustomer.Rows[rowIndex].Cells["ChequeNumber"];
                }
            }
            else if (columnName == "LedgerTypeName")
            {
                dgvReceiptFromCustomer.CurrentCell = dgvReceiptFromCustomer.Rows[rowIndex].Cells["ChequeNumber"];
            }
            else if (columnName == "ChequeNumber")
            {
                if (String.IsNullOrWhiteSpace(Convert.ToString(dgvReceiptFromCustomer.CurrentCell.Value)))
                {
                    dgvReceiptFromCustomer.CurrentCell.Value = Constants.PaymentMode.CASHTEXT;
                    dgvReceiptFromCustomer.Rows[rowIndex].Cells["PaymentMode"].Value = Constants.PaymentMode.CASH;
                    dgvReceiptFromCustomer.CurrentCell = dgvReceiptFromCustomer.Rows[rowIndex].Cells["Amount"];
                }
                else
                {
                    if (Convert.ToString(dgvReceiptFromCustomer.CurrentCell.Value).Length > 10)
                    {
                        dgvReceiptFromCustomer.CurrentCell.ErrorText = Constants.Messages.InValidCheque;
                    }
                    else
                    {
                        dgvReceiptFromCustomer.CurrentCell.ErrorText = string.Empty;
                        dgvReceiptFromCustomer.Rows[rowIndex].Cells["PaymentMode"].Value = Constants.PaymentMode.CHEQUE;
                        dgvReceiptFromCustomer.CurrentCell = dgvReceiptFromCustomer.Rows[rowIndex].Cells["ChequeDate"];
                    }
                }
            }
            else if (columnName == "ChequeDate")
            {
                string chequeDate = Convert.ToString(dgvReceiptFromCustomer.Rows[rowIndex].Cells["ChequeDate"].Value);
                if (ExtensionMethods.IsValidDate(chequeDate))
                {
                    dgvReceiptFromCustomer.CurrentCell = dgvReceiptFromCustomer.Rows[rowIndex].Cells["Amount"];
                    dgvReceiptFromCustomer.CurrentRow.Cells["ChequeDate"].ErrorText = String.Empty;
                }
                else
                {
                    dgvReceiptFromCustomer.CurrentCell = dgvReceiptFromCustomer.Rows[rowIndex].Cells["ChequeDate"];
                    dgvReceiptFromCustomer.CurrentRow.Cells["ChequeDate"].ErrorText = Constants.Messages.InValidDate;
                }
            }
            else if (columnName == "Amount")
            {
                RaisePaymentModeCalculations();

                decimal enteredAmount    = ExtensionMethods.SafeConversionDecimal(Convert.ToString(dgvReceiptFromCustomer.Rows[rowIndex].Cells["Amount"].Value)) ?? default(decimal);
                decimal unadjustedAmount = ExtensionMethods.SafeConversionDecimal(Convert.ToString(dgvReceiptFromCustomer.Rows[rowIndex].Cells["UnadjustedAmount"].Value)) ?? default(decimal);
                decimal consumedAmount   = ExtensionMethods.SafeConversionDecimal(Convert.ToString(dgvReceiptFromCustomer.Rows[rowIndex].Cells["ConsumedAmount"].Value)) ?? default(decimal);


                if (enteredAmount != 0)
                {
                    frmReceiptPaymentAdjustment formReceiptPaymentAdjustment = new frmReceiptPaymentAdjustment(rowIndex);
                    TransactionEntity           transactionEntity            = new TransactionEntity()
                    {
                        ReceiptPaymentID  = (long)dgvReceiptFromCustomer.Rows[rowIndex].Cells["ReceiptPaymentID"].Value,
                        EntityType        = Constants.LedgerType.CustomerLedger,
                        EntityCode        = Convert.ToString(dgvReceiptFromCustomer.Rows[rowIndex].Cells["LedgerTypeCode"].Value),
                        EntityName        = Convert.ToString(dgvReceiptFromCustomer.Rows[rowIndex].Cells["LedgerTypeName"].Value),
                        EntityTotalAmount = enteredAmount,
                        EntityBalAmount   = enteredAmount - consumedAmount
                    };

                    formReceiptPaymentAdjustment.ConfigureReceiptPaymentAdjustment(transactionEntity);
                    formReceiptPaymentAdjustment.FormClosed += FormReceiptPaymentAdjustment_FormClosed;
                    formReceiptPaymentAdjustment.Show();
                }

                dgvReceiptFromCustomer.CurrentCell = dgvReceiptFromCustomer.Rows[rowIndex].Cells["Amount"];
            }
            //else if (columnName == "UnadjustedAmount")
            //{
            //    AddNewRowToGrid();
            //    if (!IsInEditMode)
            //    {
            //        dgvCustomerBillOS.DataSource = null;
            //        dgvCustomerBillAdjusted.DataSource = null;
            //        lblAmtOSVal.Text = String.Empty;
            //        lblAmtAdjVal.Text = String.Empty;
            //        dgvReceiptFromCustomer.CurrentCell = dgvReceiptFromCustomer.Rows[rowIndex + 1].Cells["LedgerTypeCode"];
            //        // dgvReceiptFromCustomer.BeginEdit(true);
            //    }
            //}
        }