예제 #1
0
        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);
        }
예제 #2
0
        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");
            }
        }
예제 #3
0
        /********************************************************************************************/
        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
        }
예제 #4
0
        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);
        }
예제 #5
0
        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");
            }
        }
예제 #6
0
        /******************************************** 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);
        }