public bool InsertOsallistujaAsync(Ilmoittautuminen ilmo) { int linkki_varaus_id = ilmo.Linkki_Varaus_ID; int koulutus_id = ilmo.Koulutus_ID; string varaattupvm = DateTime.Today.ToString("yyyy-MM-dd"); int paikka = 1; // SQLite-kannan tiedot var connectionStringBuilder = new SqliteConnectionStringBuilder(); connectionStringBuilder.DataSource = "./varaus.db"; // Avataan yhteys tietokantaan using (var connection = new SqliteConnection(connectionStringBuilder.ConnectionString)) { connection.Open(); // Selvitetään vapaa paikka var sql = connection.CreateCommand(); sql.CommandText = "SELECT paikka FROM koulutus_ilmoittautumiset WHERE linkki_varaus_id=" + linkki_varaus_id + " ORDER BY paikka"; using (var reader = sql.ExecuteReader()) { while (reader.Read()) { if (paikka == reader.GetInt32(0)) { paikka++; } else { break; } if (paikka > ilmo.PaikkaLkm) { return(false); } } } using (var transaction = connection.BeginTransaction()) { var insertCommand = connection.CreateCommand(); insertCommand.CommandText = "INSERT INTO koulutus_ilmoittautumiset (linkki_varaus_id, koulutus_id, paikka, varaaja, varattupvm, nimi, yksikko, puh) VALUES (" + linkki_varaus_id + ", " + koulutus_id + ", " + paikka + ", '" + ilmo.Varaaja + "', '" + varaattupvm + "', '" + ilmo.Nimi + "', '" + ilmo.Yksikko + "', '" + ilmo.Puh + "')"; insertCommand.ExecuteNonQuery(); transaction.Commit(); return(true); } } }
public Task <List <Ilmoittautuminen> > GetOsallistujatAsync(int linkki_varaus_id) { // Muuttujat List <Ilmoittautuminen> ilmoittautumiset = new List <Ilmoittautuminen>(); Ilmoittautuminen ilmoittautuminen = new Ilmoittautuminen(); // SQLite-kannan tiedot var connectionStringBuilder = new SqliteConnectionStringBuilder(); connectionStringBuilder.DataSource = "./varaus.db"; // Avataan yhteys tietokantaan using (var connection = new SqliteConnection(connectionStringBuilder.ConnectionString)) { connection.Open(); var sql = connection.CreateCommand(); sql.CommandText = "SELECT * FROM koulutus_ilmoittautumiset WHERE linkki_varaus_id=" + linkki_varaus_id + " ORDER BY paikka"; //osallistujat = (int)sql.ExecuteScalar(); using (var reader = sql.ExecuteReader()) { while (reader.Read()) { // Luetaan rivin tiedot olioon ilmoittautuminen = new Ilmoittautuminen(); ilmoittautuminen.Varaus_ID = reader.GetInt32(0); ilmoittautuminen.Linkki_Varaus_ID = reader.GetInt32(1); ilmoittautuminen.Koulutus_ID = reader.GetInt32(2); ilmoittautuminen.Paikka = reader.GetInt32(3); ilmoittautuminen.Varaaja = reader.GetString(4); ilmoittautuminen.Varattupvm = reader.GetDateTime(5); ilmoittautuminen.Nimi = reader.GetString(6); ilmoittautuminen.Yksikko = reader.GetString(7); ilmoittautuminen.Puh = reader.GetString(8); if (!reader.IsDBNull(9)) { ilmoittautuminen.Koulutus_OK = reader.GetBoolean(9); } if (!reader.IsDBNull(10)) { ilmoittautuminen.EHRM_OK = reader.GetBoolean(10); } ilmoittautumiset.Add(ilmoittautuminen); } } } Task <List <Ilmoittautuminen> > task = Task.FromResult(ilmoittautumiset); return(task); }