public List <Habit> FindByUserID(Guid user_id) { string query = "SELECT id FROM habit WHERE user_id = @user_id AND deleted_at is null"; List <Habit> habits = new List <Habit>(); List <Guid> ids = new List <Guid>(); using (var cmd = new NpgsqlCommand(query, _connection, _transaction)) { cmd.Parameters.AddWithValue("user_id", user_id); NpgsqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { ids.Add(reader.GetGuid(0)); } reader.DisposeAsync(); } foreach (Guid id in ids) { habits.Add(FindHabitByID(id, user_id)); } return(habits); }
private static List <string> GetData(string SQLCommand, string TableName) { List <string> DataItems = new List <string>(); int ColumnNumber = GetColumnNumber(TableName); string AddString = ""; try { var Command = new NpgsqlCommand(SQLCommand, Connection); NpgsqlDataReader DataReader = Command.ExecuteReader(); while (DataReader.Read()) { for (int i = 0; i < ColumnNumber; i++) { AddString += DataReader[i].ToString(); AddString += ","; } AddString += ";"; DataItems.Add(AddString); AddString = ""; } DataReader.DisposeAsync(); return(DataItems); } catch (Exception e) { Console.WriteLine(e.Message); return(null); } }
public User JsonResult(string usr) { User user = new User() { Name = usr, Password = (string)null, Vlan = new int?() }; NpgsqlConnection connection = new NpgsqlConnection(getDbConnection()); connection.Open(); NpgsqlCommand npgsqlCommand = new NpgsqlCommand("SELECT value from radcheck where attribute='Cleartext-Password' and username like @sr ", connection); npgsqlCommand.Parameters.AddWithValue("@sr", (object)usr); NpgsqlDataReader npgsqlDataReader1 = npgsqlCommand.ExecuteReader(); while (npgsqlDataReader1.Read()) { user.Password = npgsqlDataReader1.GetString(0); } npgsqlDataReader1.Close(); string str1 = "select groupname from radusergroup where username like @dr and priority=0 "; npgsqlCommand.CommandText = str1; npgsqlCommand.Parameters.AddWithValue("dr", (object)usr); NpgsqlDataReader npgsqlDataReader2 = npgsqlCommand.ExecuteReader(); while (npgsqlDataReader2.Read()) { string str2 = npgsqlDataReader2.GetString(0); if (str2.Remove(0, 4).Length > 0) { user.Vlan = new int?(int.Parse(str2.Remove(0, 4))); } else { user.Vlan = null; } } npgsqlDataReader2.Close(); npgsqlDataReader2.DisposeAsync(); npgsqlCommand.Dispose(); connection.Close(); connection.Dispose(); return(user); }
//järjestään ehdokkaat äänimäärän mukaiseen järjestykseen public void Jarjesta() { NpgsqlConnection conn = new NpgsqlConnection( "Server=127.0.0.1;User Id=postgres;" + "Password=salasana;Database=vaalit;"); conn.Open(); //käydään ehdokkaat läpi puolueittain ja laitetaan järjestykseen for (int i = 0; i < puolueet.Length; i++) { //sql-lause, jossa ehdokkaat järjestetään äänten mukaan puolueittain String lause = "select henk_id, aanet from ehdokas where puolue = '" + puolueet[i] + "' order by aanet desc"; //alustetaan komento NpgsqlCommand cmd = new NpgsqlCommand(lause, conn); //suoritetaan lause NpgsqlDataReader dr = cmd.ExecuteReader(); int kaikki = aanimaara[i]; int nro = 0; Console.WriteLine("\n Järjestysluvut, " + puolueet[i] + ", äänet yhteensä " + kaikki + "\n"); //luetaan tietokannat rivit while (dr.Read()) { //ehdokkaan id-numero var henkilo = dr[0]; var aanet = dr[1]; //järjestysnumero nro++; //vertailuluku int vertluku = kaikki / nro; Console.WriteLine("Nro " + nro + " Id " + henkilo + " Äänet " + aanet + " Vertluku " + vertluku); //sql-lause, jolla tallennetaan järjestysnumero ja vertailuluku tietokantaan string updlause = "update puolueessa set j_nro = " + nro + ", vertluku = " + vertluku + " WHERE e_id = " + henkilo; //tallennetaan update-lauseet listaan updlauseet.Add(updlause); } dr.DisposeAsync(); cmd.Dispose(); } conn.Close(); }
public void TulostaValitut() { NpgsqlConnection conn = new NpgsqlConnection( "Server=127.0.0.1;User Id=postgres;" + "Password=salasana;Database=vaalit;"); conn.Open(); //sql-lause, jolla haetaan ehdokkaat tietokannasta vertailuluvun mukaisessa järjestyksessä String lause = "Select enimi, snimi, henk_id, vertluku, lyh from ehdokas join puolueessa " + "on ehdokas.henk_id = puolueessa.e_id order by vertluku desc"; //alustetaan komento NpgsqlCommand cmd = new NpgsqlCommand(lause, conn); //suoritetaan lause NpgsqlDataReader dr = cmd.ExecuteReader(); //luetaan data //dr.Read(); int i = 1; while (dr.Read() && i <= 51) //haetaan 51 ehdokasta { var enimi = dr[0]; var snimi = dr[1]; var henk_id = dr[2]; var vertluku = dr[3]; var lyh = dr[4]; //Console.WriteLine( henk_id + " " + enimi + " " + snimi + " " + vertluku +" " + lyh + " "); ehdokas2 = i + " " + henk_id + " " + enimi + " " + snimi + " " + vertluku + " " + lyh + " "; //tallennetaan ehdokkaat listaan ehdokkaat2.Add(ehdokas2); i++; } dr.DisposeAsync(); cmd.Dispose(); conn.Close(); Console.WriteLine("\n Seinäjoen kaupungin valtuustoon valitut henkilöt"); //tulostetaan ehdokkaat foreach (var item in ehdokkaat2) { Console.WriteLine(item); } }
public void TulostaPuolueittain() { NpgsqlConnection conn = new NpgsqlConnection( "Server=127.0.0.1;User Id=postgres;" + "Password=salasana;Database=vaalit;"); conn.Open(); //sql-lause, jolla haetaan tietokannasta valitut ehdokkaat puolueittain, kun tiedetään pienin vrtluku String lause = "Select enimi, snimi, henk_id, vertluku, lyh from ehdokas join puolueessa " + "on ehdokas.henk_id = puolueessa.e_id where vertluku >= 465 order by lyh, vertluku desc "; //alustetaan komento NpgsqlCommand cmd = new NpgsqlCommand(lause, conn); //suoritetaan lause NpgsqlDataReader dr = cmd.ExecuteReader(); int i = 1; while (dr.Read()) { var enimi = dr[0]; var snimi = dr[1]; var henk_id = dr[2]; var vertluku = dr[3]; var lyh = dr[4]; //Console.WriteLine( henk_id + " " + enimi + " " + snimi + " " + vertluku +" " + lyh + " "); ehdokas = i + " " + henk_id + " " + enimi + " " + snimi + " " + vertluku + " " + lyh + " "; ehdokkaat.Add(ehdokas); i++; } dr.DisposeAsync(); cmd.Dispose(); conn.Close(); Console.WriteLine("\n Seinäjoen kaupungin valtuustoon valitut henkilöt puolueittain"); //tulostetaan foreach (var item in ehdokkaat) { Console.WriteLine(item); } }
public Habit FindHabitByID(Guid habit_id, Guid user_id) { string query = "SELECT name, created_at FROM habit WHERE user_id = @user_id AND id = @id AND deleted_at is null"; string name = ""; DateTime timestamp = DateTime.Now; using (var cmd = new NpgsqlCommand(query, _connection, _transaction)) { cmd.Parameters.AddWithValue("user_id", user_id); cmd.Parameters.AddWithValue("id", habit_id); NpgsqlDataReader reader = cmd.ExecuteReader(); if (reader.Read()) { name = reader.GetString(0); timestamp = reader.GetDateTime(1); } reader.Close(); } if (name == "") { throw new Exception("Habit doesnt exist"); } List <Days> offDays = new List <Days>(); query = "SELECT off_days FROM days_off WHERE habit_id = @habit_id AND deleted_at is null"; using (var cmd = new NpgsqlCommand(query, _connection, _transaction)) { cmd.Parameters.AddWithValue("habit_id", habit_id); NpgsqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { offDays.Add(new Days(reader.GetString(0))); } reader.DisposeAsync(); } HabitLog log = FindByID(habit_id, user_id); return(new Habit(habit_id, name, offDays.ToArray(), user_id, timestamp, log)); }
//haetaan puolueiden äänet tietokannasta ja tallennetaan kokonaisäänimäärät public List <int> PuolueAanet() { NpgsqlConnection conn = new NpgsqlConnection( "Server=127.0.0.1;User Id=postgres;" + "Password=salasana;Database=vaalit;"); conn.Open(); Console.WriteLine("\n Tallennetaan puoleiden äänet\n "); for (int i = 0; i < puolueet.Length; i++) { //sql-lause, jolla lasketaan yksittäisen puolueen äänet Ehdokas-taulusta String lause = "select sum(aanet) from ehdokas where puolue = '" + puolueet[i] + "'"; //alustetaan komento NpgsqlCommand cmd = new NpgsqlCommand(lause, conn); //suoritetaan lause NpgsqlDataReader dr = cmd.ExecuteReader(); //luetaan data dr.Read(); //sql-lause, jolla tallennetaan puolueen kaikki äänet tauluun Puolue String lause2 = "update puolue set kaikkiaanet = " + dr[0] + "WHERE lyhenne = '" + puolueet[i] + "'"; Console.WriteLine(puolueet[i] + " yht " + dr[0]); //yhden puolueen äänet kokonaislukuna int aani = Convert.ToInt32(dr[0]); //lisätään puolueen äänet listaan aanimaara.Add(aani); //suljetaan lukija dr.DisposeAsync(); //tallennetaan äänet tietokantaan NpgsqlCommand cmd2 = new NpgsqlCommand(lause2, conn); NpgsqlDataReader dr2 = cmd2.ExecuteReader(); dr2.Read(); dr2.DisposeAsync(); cmd.Dispose(); cmd2.Dispose(); } conn.Close(); return(aanimaara); }