public static double validImporte(string nomCom) { double importe = 0; bool ok; do { ok = true; // Setea bool para que no entre un bucle infinito al pedir el precio try { Console.Write($"Ingrese el precio (con IVA) de {nomCom.ToUpper()}: $"); importe = double.Parse(Console.ReadLine()); if (importe < 0) // Si el valor es menor a 0 lo vuelve a consultar ya que no es valido { // No se condiciona para cuando es igual a 0 porque el medicamento puede ser gratuito --> $0 ok = false; Console.Clear(); Console.WriteLine("El importe no debe ser menor a $0!\nIntente nuevamente."); Msj.pausa(); } } catch (Exception) { ok = false; // si ingresa un caracter invalido cambia a false para que vuelva a preguntar Msj.tryCatch(); // Devuelve mensaje de valor invalido } } while (ok != true); // Se ejecuta hasta que ingrese un valor valido y mayor a 0 return(importe); }
static void buscaDrogaPlan() /*Punto (E)*/ { if (Farmacia.cantidadVentas() != 0) // Verifica si hay ventas, si las hay solicita los parametros de busqueda. { Console.WriteLine("Listado de ventas por Droga y Plan determinado\n"); string droga = ""; string plan = ""; bool esPlan; do { esPlan = true; // Se setea en true para que no quede en un bucle infinito Console.Write("Indique la droga del medicamento: "); droga = Console.ReadLine().ToUpper(); // Pasa a Mayusc. para realizar la comparacion Console.Write("Indique el Plan: "); plan = Console.ReadLine().ToUpper(); // Pasa a Mayusc. para realizar la comparacion if (plan == "PARTICULAR" || plan.Trim() == "") { esPlan = false; Console.Clear(); Console.WriteLine("Ingreso 'Particular', el cual no es un plan"); // Sale el aviso para ingreso de "PARTICULAR" como plan Msj.pausa(); } }while(esPlan != true); foreach (Venta v in Farmacia.todasVentas()) { if (v.FechaHora.ToString("MM") == fechaHora.ToString("MM")) // Compara el mes de venta con el actual para mostrar solo lo del mes en curso { if (v.Droga.ToUpper() == droga && v.Plan.ToUpper() == plan) // Busca la droga y el plan solicitado { listaDrogaPlan.Add(v); // Agrega la venta a la lista auxiliar para listar } } } if (listaDrogaPlan.Count == 0) { Console.Clear(); Console.WriteLine("No hay ventas con los parametros de busqueda ingresado"); } else { Console.Clear(); Console.WriteLine("Resultado de busqueda: \n"); foreach (Venta v in listaDrogaPlan) { Farmacia.verVenta(v.NroTicket); // Se envia el numero de ticket para que imprima las ventas } } } else { Console.Clear(); Console.WriteLine("No se registran ventas"); } }
/********************************************************************************************/ public static bool conf(string pregunta) // Hace una pregunta la cual requiera confirmación { char respC = ' '; string resp; bool msjConf = false; try { do { do { Console.WriteLine(pregunta); Console.Write("Ingrese s o n: "); resp = Console.ReadLine().ToLower(); if (resp.Length != 1) { Msj.opcIncorrecta(); Msj.pausa(); } }while(resp.Length != 1); // Condiciona el largo de la cadena a 1 respC = resp[0]; switch (respC) { case 's': msjConf = true; break; case 'n': msjConf = false; break; default: Msj.opcIncorrecta(); Msj.pausa(); Console.Clear(); break; } } while (respC != 's' && respC != 'n'); } catch (System.Exception) { tryCatch(); } return(msjConf); // Si acepta realizar la acción devuelve la TRUE, si no FALSE }
public static int selecOp() // Devuelve la opcion seleccionada la cual pasa por un try-catch para validar { int op = 0; try { op = int.Parse(Console.ReadLine()); } catch (Exception) { op = 0; // seleciona un case que no hace nada para evitar el default y que envie doble mensaje Msj.tryCatch(); Msj.pausa(); } return(op); }
public static void buscaDrogaPlan() /*Punto (E)*/ { if (Farmacia.cantidadVentas() != 0) // Verifica si hay ventas, si las hay solicita los parametros de busqueda. { Console.WriteLine("Listado de ventas por Droga y Plan determinado\n"); string droga = ""; string plan = ""; bool esPlan = true; do { Console.Write("Indique la droga del medicamento: "); droga = Console.ReadLine().ToUpper(); // Pasa a Mayusc. para realizar la comparacion Console.Write("Indique el Plan: "); plan = Console.ReadLine().ToUpper(); // Pasa a Mayusc. para realizar la comparacion if (plan == "PARTICULAR") { esPlan = false; Msj.noPlan(); // Sale el aviso para ingreso de "PARTICULAR" como plan Msj.pausa(); } }while(esPlan != true); ArrayList listaDrogaPlan = Farmacia.ventasDrogaPlan(droga, plan); // Se envia los parametros para que devuelva una lista de lo solicitado if (listaDrogaPlan.Count == 0) { Console.Clear(); Console.WriteLine("Hay ventas con los parametros de busqueda ingresado"); } else { Console.Clear(); Console.WriteLine("Resultado de busqueda: \n"); foreach (Venta v in listaDrogaPlan) { Farmacia.verVenta(v.NroTicket); // Se envia el numero de ticket para que imprima las ventas } } } else { Console.Clear(); Console.WriteLine("No se registran ventas"); } }
/******************************************** METODO DE MENU *********************************************************/ public static void menu() { do { op = opPrincipal(); switch (op) { case 1: // VENTAS do { op = opVenta(); switch (op) { case 1: // Punto a) Console.Clear(); nuevaVenta(); Msj.pausa(); break; case 2: // Punto c) Console.Clear(); borrarVenta(); Msj.pausa(); break; case 3: // Punto d) Console.Clear(); porcVentasQuinOS(); Msj.pausa(); break; case 4: /// Punto e) Console.Clear(); buscaDrogaPlan(); Msj.pausa(); break; case 5: // Punto b) Console.Clear(); modificarCodVend(); Msj.pausa(); break; case 6: // Lista de todas las ventas Console.Clear(); Farmacia.todasVentas(); Msj.pausa(); break; case 7: // Vuelve al menu principal Console.Clear(); break; case 0: // Opcion que evita que envie 2 mensaje break; default: Msj.opcIncorrecta(); break; } } while (op != 1 && op != 2 && op != 3 && op != 4 && op != 5 && op != 6 && op != 7); // Tiene que selecionar una opcion valida para poder continuar op = 0; // Evita que al seleccionar la opcion 3 se salga. break; case 2: // VENDEDORES do { op = opEmpleado(); switch (op) { case 1: Console.Clear(); nuevoEmp(); Msj.pausa(); break; case 2: Console.Clear(); borrarEmp(); Msj.pausa(); break; case 3: // Punto F Console.Clear(); reporteMayorVendedor(); Msj.pausa(); break; case 4: // Muestra todos los empleados Console.Clear(); Farmacia.todosEmpleados(); Msj.pausa(); break; case 5: // Vuelve al menu principal Console.Clear(); break; case 0: // Opcion que evita que envie 2 mensaje break; default: Msj.opcIncorrecta(); break; } } while (op != 1 && op != 2 && op != 3 && op != 4 && op != 5); // Tiene que selecionar una opcion valida para poder continuar op = 0; // evita que al seleccionar la opcion 3 se salga. break; case 3: //SALIR Console.Clear(); Msj.bien_desp(); Console.Write("\nGracias, vuelva prontos!\n\nPresione cualquier tecla para finalizar..."); Console.ReadKey(); Console.Clear(); Environment.Exit(1); break; case 0: // Opcion que evita que envie 2 mensaje break; default: Msj.opcIncorrecta(); break; } } while (op != 3); }