Example #1
0
        public static void Ejecutar()
        {
            //TODO: Tarea armar ejemplo escribiendo json en un archivo
            string jsonText = File.ReadAllText(@"..\.\..\..\..\ordenes.json");

            //parsear json
            JsonRoot jsonObj = JsonConvert.DeserializeObject <JsonRoot>(jsonText);

            //lista de ordenes
            List <Orden> ordenes = jsonObj.ordenes.ToList();

            //Sumo en uno el numero de orden
            int nroOrden = ordenes.Last().nroOrden + 1;


            Orden orden = new Orden();

            orden.nroOrden = nroOrden;

            Console.WriteLine("Ingrese descripcion:");
            orden.descripcion = Console.ReadLine();

            Console.WriteLine("Ingrese cantidad:");
            string cantidadString = Console.ReadLine();

            orden.cantidad = Int32.Parse(cantidadString);

            Console.WriteLine("Ingrese precio:");
            string precioString = Console.ReadLine();

            orden.precio = Int32.Parse(precioString);

            ordenes.Add(orden);
            JsonRoot jsonroot = new JsonRoot();

            jsonroot.ordenes = ordenes;

            var jsonConvertido = JsonConvert.SerializeObject(jsonroot, Formatting.Indented);

            File.WriteAllText(@"..\.\..\..\..\ordenes.json", jsonConvertido);
        }
        public static void Ejecutar()
        {
            //buscar archivo json
            //Console.WriteLine("El directorio actual es:");
            //string directorioDelJson = $@"..\.\..\..\{Directory.GetCurrentDirectory()}";

            //para archivos grandes, se debe leer de a bloques utilizando un while
            string jsonText = File.ReadAllText(@"..\.\..\..\..\ordenes.json");

            //parsear json
            JsonRoot jsonObj = JsonConvert.DeserializeObject <JsonRoot>(jsonText);

            //filtrar ordenes sin entregar
            List <Orden> ordenesSinEntregar = jsonObj.ordenes.Where(o => !o.entregada).ToList();

            //mostrar por pantalla
            Console.WriteLine("Las ordenes sin entregar son:");
            Console.WriteLine("nroOrden, descripcion, cantidad, precio");
            foreach (Orden orden in ordenesSinEntregar)
            {
                Console.WriteLine($"{orden.nroOrden}, {orden.descripcion}, {orden.cantidad}, {orden.precio}");
            }
        }