public int GetMemoriaData(String key) { // Encontrar el dato deseado con indice manual en el parseo del json. int index = int.Parse(key); // Opción Nativa: para buscar de manera nativa en nuestro List db. Con el indice autogenerado. // En tres lineas de código encontramos y reutilizamos el valor que se busca. MemoriaData data = db[index]; // Opción para buscar por medio de indice manual: // MemoriaData data = db.Find(item => item.key == index); // Damos un indice para que lo busque y al encontrarlo nos regresa el objeto deseado. // Encontrar el dato deseado por la fecha. Accedemos al json nuevamente y buscamos por fecha. // Ya que esta operación no asigna nuevos indices, respeta la estructura acutal. // string archivoDB = "../../../db.json"; // StreamReader reader = new StreamReader(archivoDB); // var dbJSON = reader.ReadToEnd(); // JObject dbObject = JObject.Parse(dbJSON); // JToken data = (dbObject as JObject)[key]; // return (int)data["resultado"]; return(data.resultado); }
public void GuardarMemoria(MemoriaData data) { db.Add(data); int i = 0; db.ForEach((MemoriaData memoriaData) => { Console.WriteLine("Dato en memoria: ({0})", i); Console.BackgroundColor = ConsoleColor.Green; Console.WriteLine("{0} - {1}", memoriaData.fecha.ToLongDateString(), memoriaData.fecha.ToLongTimeString()); Console.ResetColor(); Console.WriteLine("Operación: {0}", memoriaData.operacion); Console.WriteLine("Resultado: {0}", memoriaData.resultado.ToString()); Console.ForegroundColor = ConsoleColor.Blue; Console.WriteLine("----------------- \n"); Console.ForegroundColor = ConsoleColor.White; i++; }); string json = JsonConvert.SerializeObject(db.ToArray(), Formatting.Indented); string archivoDB = "../../../db.json"; File.WriteAllText(archivoDB, json); }