private static List <string> FindProd()
        {
            List <string> res = new List <string>();

            Console.WriteLine("Ingrese un nombre");
            string presionada = Console.ReadLine();

            res.Add(presionada);
            Console.WriteLine("Y una categoria: \n Bebida \n ProdHamburgueseria \n ProdCafeteria \n ProdPasteleria");
            string cat = Console.ReadLine();

            res.Add(cat);
            Deserializar(ProductosController.GetProducto(presionada, cat));
            return(res);
        }
        public static string MenuPrincipal()
        {
            string presionada = "0";


            while (presionada.ToUpper() != "X")
            {
                Console.Write("1 Generar Pedido  2 Buscar producto  3 Agregar nuevo producto\n" +
                              "4 Modificar Producto   5 Eliminar producto  6 Mostrar todos los prods \n 7 salir \n");

                presionada = Console.ReadLine();
                switch (presionada)
                {
                case "1":
                    Pedido newPedido = new Pedido(1, Dummy.GetRandomClient(), DateTime.Now.ToString());

                    Console.Clear();

                    string desition = "";

                    while (desition != "X")
                    {
                        Console.WriteLine("Seleccione Categoria, Ingrese X para generar el ticket, intro para continuar");
                        desition = Console.ReadLine();
                        eCategoria auxCategoria = eCategoria.Cafeteria;
                        if (desition.ToUpper() == "X")
                        {
                            DesserializarEnMasa(newPedido.products);
                            Console.WriteLine("Confirmar pedido Y/N");
                            string confirmacion = Console.ReadLine();
                            if (confirmacion.ToUpper() == "Y")
                            {
                                TicketController <Pedido> .PrintTicket(newPedido);

                                PrintingAnimation();
                            }
                        }
                        else
                        {
                            int selection = GetEnumInConsole <eCategoria>(auxCategoria);


                            auxCategoria = (eCategoria)selection;
                            string name = "";

                            //Hacer que si busca no tire exception
                            switch (auxCategoria)
                            {
                            case eCategoria.Cafeteria:
                                DesserializarEnMasa(Dummy.Cafeteria);
                                //Añado el producto a el pedido dependiendo del nombre445rrrrr (colaboracion de scon)fggggggggggggggggggggggggggrrrrrrrrr
                                name = Console.ReadLine();
                                if (!string.IsNullOrEmpty(name))
                                {
                                    try
                                    {
                                        newPedido.products.Add(Dummy.Cafeteria.Where(p => p.nombre.ToUpper() == name.ToUpper()).First());
                                    }
                                    catch (InvalidOperationException e)
                                    {
                                        Console.WriteLine("No se encontro ese producto");
                                        name = Console.ReadLine();
                                        newPedido.products.Add(Dummy.Cafeteria.Where(p => p.nombre.ToUpper() == name.ToUpper()).First());
                                    }
                                }

                                else
                                {
                                    Console.WriteLine("Ingrese un nombre de producto");
                                }
                                break;

                            case eCategoria.Hamburguesa:
                                DesserializarEnMasa(Dummy.Hamburguesas);
                                name = Console.ReadLine();
                                if (name != "")
                                {
                                    try
                                    {
                                        newPedido.products.Add(Dummy.Hamburguesas.Where(p => p.nombre.ToUpper() == name.ToUpper()).First());
                                    }
                                    catch (InvalidOperationException e)
                                    {
                                        Console.WriteLine("No se encontro ese producto");
                                        name = Console.ReadLine();
                                        newPedido.products.Add(Dummy.Hamburguesas.Where(p => p.nombre.ToUpper() == name.ToUpper()).First());
                                    }
                                }

                                break;

                            case eCategoria.Pasteleria:
                                DesserializarEnMasa(Dummy.Pasteleria);
                                name = Console.ReadLine();
                                if (name != "")
                                {
                                    try
                                    {
                                        newPedido.products.Add(Dummy.Pasteleria.Where(p => p.nombre.ToUpper() == name.ToUpper()).First());
                                    }
                                    catch (InvalidOperationException e)
                                    {
                                        Console.WriteLine("No se encontro ese producto");
                                        name = Console.ReadLine();
                                        newPedido.products.Add(Dummy.Pasteleria.Where(p => p.nombre.ToUpper() == name.ToUpper()).First());
                                    }
                                }
                                break;

                            default:
                                break;
                            }
                        }
                    }
                    break;

                case "2":
                    FindProd();
                    break;


                case "3":
                    try
                    {
                        ProductosController.AddProducto(SerializeProd <Producto>());
                    }
                    catch (NullReferenceException e)
                    {
                        Console.WriteLine("Por favor ingrese datos validos");
                    }

                    break;

                case "4":
                    ShowAllProds();

                    List <string> res = FindProd();

                    ProductosController.UpdateProd(res[0], SerializeProd <Producto>());
                    break;

                case "5":
                    Console.Clear();
                    ShowAllProds();
                    List <string> response = FindProd();
                    ProductosController.DeleteProd(response[0], response[1]);
                    break;

                case "6":
                    Console.Clear();
                    ShowAllProds();
                    Console.ReadKey();
                    Console.Clear();
                    break;

                case "7":
                    Environment.Exit(0);
                    break;
                }
            }



            return(presionada);
        }