using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using MySql.Data; using MySql.Data.MySqlClient; using System.IO; namespace Kres_menu { class Program { public static void Main(string[] args) { //LOGIN string username, username1, password, password1 = string.Empty; bool isUserWrong = true; //Variable vi bruger til at lave et loop. Så længe log-in ikke er godkendt loopes programmet. while (isUserWrong) { Console.WriteLine("Enter a username: "); //Det er selve vores log-in, hvor der indtastes et brugernavn og et kodeord. username = Console.ReadLine(); Console.WriteLine("Enter a password: "); password = Console.ReadLine(); using (StreamReader sr = new StreamReader(File.Open("C:\\Users\\EmilS\\Desktop\\1.txt", FileMode.Open))) //I et andet program oprettes en bruger, hvor brugernavn og kode gemmes i en tekstfil som referes til her. { username1 = sr.ReadLine(); password1 = sr.ReadLine(); sr.Close(); } if (username == username1 && password == password1) //Hvis brugeren passer til det i tekstfilen, kan man logge-in og se dataen. Hvis ikke kan man forsøge igen. { Console.WriteLine("Login succesful!" + "\n"); //Selve appen int chooseNumber = 0; string number; Console.WriteLine("Velkommen til appen Vejrstation udviklet af KRES" + "\n" + "\n" + "Vælg by for hvilke vejrdata ønskes præsenteret:" + "\n" + "\n" + "1 = Odense" + "\n" + "2 = Aarhus" + "\n" + "3 = Skagen" + "\n" + "4 = Roskilde" + "\n" + "5 = Nakskov"); number = Console.ReadLine(); chooseNumber = int.Parse(number); switch (chooseNumber) //Her er lavet en switch case, som gør at brugeren kan man vælge mellem vores vejrstationer i Danmark (Selvom vi kun har opsat Odense). { case 1: string connStr = "server=10.140.100.215;user=admin;password=123456;database=Kres_vejr"; //Her oprettes en string hvor serveradresse til databasen, brugernavn, kode og databasenavn defineres. MySqlConnection conn = new MySqlConnection(connStr); try { Console.WriteLine("Connection to MySQL..."); conn.Open(); //Her åbnes en forbindelse og programmet forsøger at oprette forbindelse til databasen. //database opertioner string sql = "SELECT Temperatur, Fugtighed, Tidspunkt FROM Vejr_Odense ORDER BY Tidspunkt DESC LIMIT 8"; //Her oprettes en string hvor vi vælger hvilken data vi vil se fra databasen, samt hvor mange data vi vil se. MySqlCommand cmd = new MySqlCommand(sql, conn); MySqlDataReader rdr = cmd.ExecuteReader(); //Her oprettes en reader. Det er en funktion der tillader programmet at læse dataen fra databasen. while (rdr.Read()) { Console.WriteLine(rdr[0] + " \t " + rdr[1] + " \t " + rdr[2]); //Her vælges hvilken data og hvordan det skal præsenteres. rdr[0] er temperatur, rdr[1] er fugt og rdr[2] er tidspunkt. Mellem hver data har vi indsat en \t som svarer til et tryk på tab. } rdr.Close(); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } conn.Close(); //Her lukkes forbindelsen til databasen Console.WriteLine("De sidste 8 målinger taget fra vejrstationen i Odense"); Console.ReadKey(); break; case 2: Console.WriteLine("Not yet setup! :-)"); break; case 3: Console.WriteLine("Not yet setup! :-)"); break; case 4: Console.WriteLine("Not yet setup! :-)"); break; case 5: Console.WriteLine("Not yet setup! :-)"); break; default: Console.WriteLine("Input not recognized! >:-("); break; } isUserWrong = false; } else { Console.WriteLine("Login failed. Please try again." + "\n"); //Hvis kode eller brugernavn er forkert skrives der i konsollen og programmet looper. } } Console.WriteLine("Press Enter to exit."); Console.ReadKey(); } } }