Exemplo n.º 1
0
        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);
                }
            }
        }