/* * Igra */ /** * Metoda koja pokrece igru \n * sve setuje na nulu i snima trenutno * vreme * na serveru */ public int[] PokreniIgru () { brojPokusaja = 0; vremeStart = DateTime.Now; status = EStatusIgre.IGRA_AKTIVNA; List<int> result = new List<int> (); using (DataBase data = new DataBase ()) { int brojFilmova; int rbFilma; Random random = new Random (); try { data.Open (); brojFilmova = data.BrojFilmova (); rbFilma = random.Next (brojFilmova); film = data.PreuzmiFilm (rbFilma); nazivFilma = film.Naziv.ToUpper ().ToCharArray (); nazivFilma = ZamenaKraktera (nazivFilma); } catch (Exception ex) { ServiceFault fault = new ServiceFault ("Greska prilikom preuzimanja filma iz baze!"); throw new FaultException<ServiceFault> (fault); } } result.Add (nazivFilma.Length); for (int i = 0; i < nazivFilma.Length; i++) if (nazivFilma [i] == ' ') { result.Add (i); nazivFilma [i] = '\0'; } return result.ToArray (); }
/* * Peuzima film iz baze * rb - redni broj pitanja */ public Film PreuzmiFilm(int rb) { Film film; MySqlCommand cmd; MySqlDataAdapter dataAdapter; DataSet ds = new DataSet (); DataRow[] rows; string query = "SELECT * FROM nazivi"; using (cmd = new MySqlCommand (query, conn)) { using(dataAdapter = new MySqlDataAdapter ()) { try { dataAdapter.SelectCommand = cmd; dataAdapter.Fill (ds, "nazivi"); rows = ds.Tables["nazivi"].Select (); if(ds.Tables["nazivi"].Rows.Count < rb + 1) throw new IndexOutOfRangeException(); film = new Film(int.Parse(rows[rb]["id"].ToString()), rows[rb]["naziv"].ToString()); } catch (Exception ex) { throw ex; } } } return film; }