// Takes in read input to choose/display row and column. public static string QuerySelection(Product2[,] products, string query) { char selection = 'O'; int rows = 0; int counter = 0; while (selection != 'E') { QueryDisplay(products, rows, counter, query); selection = KeyUtil.GetKey(); selection = UpperCaseChar(selection); switch (selection) { case 'E': break; case 'U': if (counter != 0 && products[rows, counter] != null) { counter--; QueryDisplay(products, rows, counter, query); } ; break; case 'D': counter++; try { products[rows, counter].Test(); QueryDisplay(products, rows, counter, query); } catch (Exception E) { counter--; } break; case 'P': if (rows != 0) { rows--; counter = 0; QueryDisplay(products, rows, counter, query); } ; break; case 'N': rows++; try { products[rows, counter].Test(); counter = 0; QueryDisplay(products, rows, counter, query); } catch (Exception E) { rows--; } break; case 'Q': Environment.Exit(1); break; default: break; } } return(products[rows, counter].getItemNo()); }