static void Trattieni(JsonDataRecord jsonData) { // infila il dato in una pila pila.Push(jsonData); // se la pila raggiunge una certa dimensione crea un file coi dati e svuota la pila if (pila.Count >= limiteRecord) { Archiviatore.Push(ref pila); // la pila viene passata per iferimento per poter essere manipolata } }
static void InoltraAlServer(JsonDataRecord jsonData) { // non ci sono impedimenti e quindi spediamo il nostro dato al server if (!Spedisci("{ \"VettoreDati\": [ " + jsonData.ToString() + " ]}")) { pila.Push(jsonData); } // poi verifichiamo se la pila ha altri record da inviare if (pila.Count > 0) { // spediamone il contenuto al server e poi svuotiamo la pila if (Spedisci(JsonDataRecord.StackToString(pila))) { pila.Clear(); } else { return; // se ci sono problemi non se ne fa niente } } // verifichiamo se ci sono file salvati da inviare while (Archiviatore.fileInArchivio) { // cerchiamo di spedire l'ultimo file recuperato if (Spedisci(Archiviatore.Pull())) { Archiviatore.ThrowLast(); } else { return; // se ci sono problemi non se ne fa niente } // // recuperiamo i dati archiviati // string stringaPila = Archiviatore.Pop(); // // e spediamo al server anche i file archiviati // Spedisci(stringaPila); } ; }
static void Main(string[] args) { Console.Clear(); var v1 = new Veicolo(); for (int i = 0; i < 50; i++) { //if (i > 25) Trasmettitore.connessione = true; v1.Aggiorna(); } Archiviatore.ThrowAll(); Console.WriteLine("Connessione " + (Trasmettitore.VerificaConnessione() ? "attiva" : "non attiva")); // var v2 = new Veicolo(); // var v3 = new Veicolo(); // var v4 = new Veicolo(); // var v5 = new Veicolo(); // JsonDataRecord jr = new JsonDataRecord(); // // //Console.WriteLine(jr); // Stack pila = new Stack(); // pila.Push(jr.SetId(1)); // var jr2 = new JsonDataRecord(); // jr2.SetId(2).SetDescrizione("Portogruaro-Palse"); // pila.Push(jr2); // var jr3 = new JsonDataRecord(); // jr3.SetId(3).SetDescrizione("Udine-Tarvisio"); // pila.Push(jr3); // // Console.WriteLine(JsonDataRecord.StackToString(pila)); // // for (int i = 0; i < 10; i++) // // { // // Console.WriteLine(((double)(new Random()).Next(10)-5.0) / 1000); // // } // // creazione file // // using (StreamWriter writetext = new StreamWriter("pila1.txt")) // // { // // writetext.WriteLine(JsonDataRecord.StackToString(pila)); // // Console.WriteLine("creato..."); // // } // // // lettura file // // using (StreamReader readtext = new StreamReader("pila1.txt")) // // { // // string readMeText = readtext.ReadToEnd(); // // Console.WriteLine("letto..."); // // Console.WriteLine(readMeText); // // } // // // eliminazione file // // if (File.Exists("pila1.txt")) // // { // // // File.Delete("pila1.txt"); // // Console.WriteLine("eliminato..."); // // } // // Archiviatore.Push(ref pila); // // pila.Push(jr); // // pila.Push(jr2); // // pila.Push(jr3); // // Archiviatore.Push(ref pila); // // Console.WriteLine(JsonDataRecord.StackToString(pila)); // // Console.WriteLine(Archiviatore.Pop()); // // Console.WriteLine(Archiviatore.Pop()); // Trasmettitore.InoltraRecord(jr); // Trasmettitore.InoltraRecord(jr2); // Trasmettitore.InoltraRecord(jr3); // Trasmettitore.connessione = true; // Trasmettitore.InoltraRecord(jr); }