private void TicketsDataGridView_CellMouseUp(object sender, DataGridViewCellMouseEventArgs e) { if (e.ColumnIndex == TicketsDataGridView.Columns["FindColumn"].Index && e.RowIndex >= 0) { if (TicketsDataGridView["FindColumn", e.RowIndex].ReadOnly) { return; } string sStoreNumber = Utilities.GetStringValue(TicketsDataGridView["StoreColumn", e.RowIndex].Value, string.Empty); int iTicketNumber = Utilities.GetIntegerValue(TicketsDataGridView["TicketColumn", e.RowIndex].Value, 0); //Duplicate check -- Madhu - BZ # 147 - prevent adding if it already exists in the grid bool exists = false; int existingTicketNum = 0; foreach (DataGridViewRow dr in TicketsDataGridView.Rows) { existingTicketNum = Utilities.GetIntegerValue(dr.Cells["TicketColumn"].Value, 0); if (dr.Index != e.RowIndex && existingTicketNum != 0 && iTicketNumber != 0 && existingTicketNum == iTicketNumber) { MessageBox.Show("Loan Number " + existingTicketNum + " has already been added in this list."); exists = true; break; } } if (!exists) { if (!string.IsNullOrEmpty(iTicketNumber.ToString())) { exists = parentWindow.SearchGrid(iTicketNumber.ToString()); if (exists) { MessageBox.Show("Loan Number " + iTicketNumber + " has already been added."); } } } if (exists) { return; } //duplicate check end //no ticket - S. Murphy need store to default to current store if none is entered if (string.IsNullOrEmpty(sStoreNumber)) { sStoreNumber = GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber; } // Place Holder for Stored Proc call PawnLoan pawnLoan = new PawnLoan(); PawnAppVO pawnAppVO = new PawnAppVO(); CustomerVO customerVO = new CustomerVO(); var sErrorCode = string.Empty; var sErrorText = string.Empty; if (CustomerLoans.GetPawnLoan(GlobalDataAccessor.Instance.DesktopSession, Convert.ToInt32(sStoreNumber), iTicketNumber, "0", StateStatus.BLNK, true, out pawnLoan, out pawnAppVO, out customerVO, out sErrorCode, out sErrorText)) { if (pawnLoan != null && pawnLoan.LoanStatus != ProductStatus.IP) { //TicketsDataGridView["NameColumn", e.RowIndex].Style.ForeColor = Color.Red; DataGridViewCellStyle style = new DataGridViewCellStyle(); style.ForeColor = Color.Red; TicketsDataGridView["NameColumn", e.RowIndex].Style.ApplyStyle(style); TicketsDataGridView["NameColumn", e.RowIndex].Value = "Invalid Ticket"; //Madhu fix for BZ # 147 addButton.Enabled = false; } else { //Madhu fix for BZ # 147 EnableAddButton(); //addButton.Enabled = true; if (customerVO.LastName != "") { TicketsDataGridView["NameColumn", e.RowIndex].Value = ( customerVO.FirstName + " " + customerVO.MiddleInitial + " " + customerVO.LastName ).Replace(" ", " "); if (pawnLoan != null) { if (_AddedPawnLoans.FindIndex(delegate(PawnLoan pl) { return(pl.TicketNumber == pawnLoan.TicketNumber); }) < 0) { _AddedPawnLoans.Add(pawnLoan); } } } } if (TicketsDataGridView.CurrentRow != null) { //no ticket - S. Murphy need store to default to current store if none is entered if (string.IsNullOrEmpty(sStoreNumber)) { sStoreNumber = GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber; } } if (TicketsDataGridView.CurrentRow.Index == e.RowIndex && TicketsDataGridView.Rows.Count - 1 == e.RowIndex && sStoreNumber != "" && iTicketNumber != 0) { TicketsDataGridView.Rows.Add(); //Madhu BZ # 147 TicketsDataGridView.EditingControlShowing += new DataGridViewEditingControlShowingEventHandler(TicketsDataGridView_EditingControlShowing); foreach (DataGridViewRow dr in TicketsDataGridView.Rows) { string sStoreNum = Utilities.GetStringValue(dr.Cells["StoreColumn"].Value); int iTicketNum = Utilities.GetIntegerValue(dr.Cells["TicketColumn"].Value); if (string.IsNullOrEmpty(sStoreNum) || iTicketNum == 0) { dr.Cells["FindColumn"].ReadOnly = true; } } } } else { //Madhu fix for BZ # 147 if (TicketsDataGridView != null && TicketsDataGridView.Rows.Count <= 1) { addButton.Enabled = false; } MessageBox.Show("A Ticket Number was not found using the Store Number entered.", "Lookup Ticket Confirmation", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } }