/*********************************************************************************************************************/ /******************************************** OTROS METODOS **********************************************************/ public static int validCodigo() /*Valida codigo de empleado*/ { int codVendedor = 123; bool encontro = false; do { try { Console.Write("Ingrese el codigo del empleado: "); codVendedor = int.Parse(Console.ReadLine()); if (codVendedor != 000) { foreach (int nro in codAsig) // Recorre codigos asignados { if (nro == codVendedor) // Si encuentra que el codigo fue asignado quiere decir que el empleado existe { encontro = true; } } Farmacia_Exception.exe_tryCatch(encontro, "empleado"); // Si no encuentra el empleado ejecuta el try-catch EmpleadoNoEncont() } else { encontro = true; // Se setea en true para salir del blucle } } catch (Farmacia_Exception.EmpleadoNoEncont) { Console.Clear(); Msj.tcNoEmpleado(codVendedor); Console.WriteLine("Si no se acuerda ingrese 000 para salir.\n"); } catch (Exception) { Msj.tryCatch(); // Devuelve mensaje de valor invalido } } while (encontro != true && codVendedor != 000); // Se ejecuta el While hasta que ingresa un codigo valido o ingrese 000, en este ultimo caso se cancela la operación siguiente return(codVendedor); }
public static int validTicket(string que) // Solicita un codigo, lo valida y verifica que no se repita o que exista segun el string que recibe { bool encontre = true; bool ok; int nroTicket = 123; do { ok = true; // Setea bool para que no entre un bucle infinito al pedir el ticket try { Console.Write("Ingrese el Nro de Ticket: "); nroTicket = int.Parse(Console.ReadLine()); if (nroTicket != 000) { foreach (int nro in ticketAsig) { if (nro == nroTicket) // Si encuentra el numero de ticket en los ticket asignados significa que existe la venta { encontre = true; if (que == "repite") // Si que es igual a repite significa que tiene que verificar que el codigo no se repita { ok = false; Console.Clear(); Console.WriteLine($"El numero de ticket {nroTicket} ya fue ingresado!\nVuelva a intentar\n"); Console.WriteLine($"Si no recuerda o sabe el numero de ticket correcto, ingrese 000 para cancelar\n"); break; // Cuando encuentra coincidencia se sale del foreach } else // Si que es igual a existe tiene que verificar que el codigo exista { ok = true; break; // Para que deje de seguir buscando } } else { if (que == "existe") // Solo si se esta verificando si el ticket exite se va a enviar el try en caso de no encontrar { Console.Clear(); Console.WriteLine($"Si no recuerda o sabe el numero de ticket correcto, el numero de ticket ingrese 000 para cancelar\n"); encontre = false; } } } Farmacia_Exception.exe_tryCatch(encontre, "ticket"); } else { ok = true; // Se setea ok en true para salir del bucle } } catch (Farmacia_Exception.TicketNoValido) { // Si no se encuentra(encontre en false) nada muestra el mesnaje Msj.tcTicket(nroTicket); } catch (System.Exception) { ok = false; Msj.tryCatch(); } }while (ok != true && nroTicket != 000); // Hasta que no ingrese un Ticket valido y no repetido o exita se ejecuta el while return(nroTicket); // Devuelve un Ticket valido y que exista o no se repita segun lo requerido }