// Hier wird ein zufälliges PArkendes Auto zurückgesendet public Autos getrandomparkingcar() { IDbConnection _connection = new SqliteConnection(_strDBName); IDbCommand _command = _connection .CreateCommand(); string sql; IDataReader _reader; _connection .Open(); sql = "SELECT Count(KENNZEICHEN) as COUNT FROM AUTOS WHERE STATUS='2' "; _command.CommandText = sql; _reader = _command.ExecuteReader(); _reader.Read (); int zufall = UnityEngine.Random.Range (1, System.Convert.ToInt32(_reader ["COUNT"])); _reader.Close (); sql = "SELECT * FROM AUTOS WHERE STATUS = '2' LIMIT "+ zufall; _command.CommandText = sql; _reader = _command.ExecuteReader(); // Hier wird ein zufälliges Auto gesucht for (int i=0; i<zufall; i++) { _reader.Read(); } Autos car = new Autos (); //Debug.Log (_reader ["KENNZEICHEN"]); car.setKennzeichen (System.Convert.ToString (_reader ["KENNZEICHEN"])); car.setStatus("2"); _command.Dispose(); _command = null; _connection .Close(); _connection.Dispose (); _connection = null; _reader.Close (); _reader.Dispose (); _reader = null; return car; }
// Hier wird Ein Auto aus der Datenbank genommen mit einem als Parameter gegebenem Kennzeichen // Die Rückgabe ist eine Object der Klasse Autos public Autos getAutoViaKennzeichen(String Kennzeichen) { IDbConnection _connection = new SqliteConnection(_strDBName); IDbCommand _command = _connection .CreateCommand(); string sql; IDataReader _reader; _connection .Open(); sql = "SELECT * FROM AUTOS WHERE KENNZEICHEN='"+Kennzeichen+"' "; _command.CommandText = sql; _reader = _command.ExecuteReader(); Autos auto = new Autos (); _reader.Read (); auto.setKennzeichen (System.Convert.ToString(_reader ["KENNZEICHEN"])); auto.setStatus (System.Convert.ToString(_reader ["STATUS"])); _command.Dispose (); _command = null; _connection.Close (); _connection.Dispose (); _connection = null; _reader.Close (); _reader.Dispose (); _reader = null; return auto; }
// Hier wird ein Random Parkplatz aus den Freien Parkplätzen gesucht // Der Gewählte Parkplatz wird mit dem als Parameter gegebenem Auto gefüllt // Und der gewählte Parkplatz wird zurückgesendet public Parkplatz getrandomfreeparkandfillwithcar(String Carname) { Autos auto = new Autos (); auto.setKennzeichen (Carname); auto.setStatus ("2"); this.addauto (auto); System.Random Randomizer=new System.Random(); List<Parkplatz> parkplaetze = this.getfreeParkplatz (); int anzahlfreierParkplaetze=parkplaetze.Count; Debug.Log ("ParkplätzeCount "+parkplaetze.Count); Parkplatz gewaehlt; int wohin = Randomizer.Next (0, anzahlfreierParkplaetze-1); Debug.Log ("Wohin "+wohin); gewaehlt = parkplaetze [wohin]; this.setStatusbesetztParkplatz (Carname, gewaehlt); return gewaehlt; }
// Diese Funktion übernimmt die Datenbankeinträge beim Einchecken gleichzeitig wird überprüft ob noch Parkplätze frei sind public bool einchecken(String CarKennzeichen) { int anzahlfreeparkplatz = this.getanzahlfreeparkplaetzelimit1 (); // Wenn kein Parkplatz frei ist wird kein auto erzeugt if (anzahlfreeparkplatz == 0) { return false; } else { Autos auto = new Autos (); auto.setKennzeichen (CarKennzeichen); auto.setStatus ("1"); this.addauto (auto); Parkplatz park = this.getfreeParkplatzlimit1 (); this.setStatusbesetztParkplatz (CarKennzeichen,park); return true; } }