/* ALLA GET-METODER. HÄMTAR DATA FRÅN DATABASERNA * Beskrivning: Dessa metoder hämtar data från databaserna AnnonsDB och PrenumeranterDB. */ /* Metod: GetAllaAds * Beskrivning: Denna metod hämtar alla annonser som finns i databasen AnnonsDB * Returnerar: En lista med alla annonser */ public List <Ads> GetAllaAds(out string errormsg) { SqlConnection dbConnection = new SqlConnection { ConnectionString = @"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=AnnonsDB;Integrated Security=True" }; string sqlString = "SELECT * FROM Tbl_Ads"; SqlCommand dbCommand = new SqlCommand(sqlString, dbConnection); SqlDataAdapter adapter = new SqlDataAdapter(dbCommand); DataSet ds = new DataSet(); List <Ads> annonserList = new List <Ads>(); try { dbConnection.Open(); adapter.Fill(ds, "AdsTbl"); int count = 0; int i = 0; count = ds.Tables["AdsTbl"].Rows.Count; if (count > 0) { while (i < count) { Ads annonser = new Ads(); annonser.Ad_Id = Convert.ToInt32(ds.Tables["AdsTbl"].Rows[i]["Ad_Id"]); annonser.Ad_Annonsor = Convert.ToInt32(ds.Tables["AdsTbl"].Rows[i]["Ad_Annonsor"]); annonser.Ad_Rubrik = ds.Tables["AdsTbl"].Rows[i]["Ad_Rubrik"].ToString(); annonser.Ad_Innehall = ds.Tables["AdsTbl"].Rows[i]["Ad_Innehall"].ToString(); annonser.Ad_VaransPris = Convert.ToInt32(ds.Tables["AdsTbl"].Rows[i]["Ad_VaransPris"]); annonser.Ad_AnnonsPris = Convert.ToInt32(ds.Tables["AdsTbl"].Rows[i]["Ad_AnnonsPris"]); i++; annonserList.Add(annonser); } errormsg = "Alla annonser gick inte att hämta!"; return(annonserList); } else { errormsg = "Det hämtas ingen annons. Kontrollera id:et igen!"; return(null); } } catch (Exception e) { errormsg = e.Message; return(null); } finally { dbConnection.Close(); } }
/* Metod: GetAd * Beskrivning: Denna metod hämtar en annons som finns i databasen AnnonsDB * Returnerar: En specifik annons baserat på id */ public Ads GetAd(int id, out string errormsg) { SqlConnection dbConnection = new SqlConnection { ConnectionString = @"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=AnnonsDB;Integrated Security=True" }; string sqlString = "SELECT * FROM Tbl_Ads WHERE Ad_Id = @Ad_Id"; SqlCommand dbCommand = new SqlCommand(sqlString, dbConnection); dbCommand.Parameters.Add("Ad_Id", SqlDbType.Int).Value = id; SqlDataAdapter adapter = new SqlDataAdapter(dbCommand); DataSet ds = new DataSet(); try { dbConnection.Open(); adapter.Fill(ds, "AdsTbl"); int count = 0; int i = 0; count = ds.Tables["AdsTbl"].Rows.Count; if (count > 0) { Ads annons = new Ads(); annons.Ad_Id = Convert.ToInt32(ds.Tables["AdsTbl"].Rows[i]["Ad_Id"]); annons.Ad_Annonsor = Convert.ToInt32(ds.Tables["AdsTbl"].Rows[i]["Ad_Annonsor"]); annons.Ad_Rubrik = ds.Tables["AdsTbl"].Rows[i]["Ad_Rubrik"].ToString(); annons.Ad_Innehall = ds.Tables["AdsTbl"].Rows[i]["Ad_Innehall"].ToString(); annons.Ad_VaransPris = Convert.ToInt32(ds.Tables["AdsTbl"].Rows[i]["Ad_VaransPris"]); annons.Ad_AnnonsPris = Convert.ToInt32(ds.Tables["AdsTbl"].Rows[i]["Ad_AnnonsPris"]); errormsg = "Annonsen med det angivna id:et hämtas inte!"; return(annons); } else { errormsg = "Det hämtas ingen annons. Kontrollera id:et igen!"; return(null); } } catch (Exception e) { errormsg = e.Message; return(null); } finally { dbConnection.Close(); } }
/* ALLA PUT-METODER. UPPDATERAR DATA I DATABASEN * Beskrivning: En metod som uppdaterar/ändrar en annons i databasen AnnonsDB */ /* Metod: PutAd * Beskrivning: Denna metod uppdaterar/ändrar en annons baserat på id * Returnerar: Den uppdaterade annonsen */ public int PutAd(int id, Ads ad, out string errormsg) { SqlConnection dbConnection = new SqlConnection { ConnectionString = @"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=AnnonsDB;Integrated Security=True" }; string sqlString = "UPDATE Tbl_Ads " + "SET Ad_Rubrik = @Ad_Rubrik, Ad_VaransPris = @Ad_VaransPris, Ad_Innehall = @Ad_Innehall " + "WHERE Ad_Id = @Ad_Id"; SqlCommand dbCommand = new SqlCommand(sqlString, dbConnection); dbCommand.Parameters.Add("Ad_Id", SqlDbType.Int).Value = id; dbCommand.Parameters.Add("Ad_Rubrik", SqlDbType.NVarChar, 50).Value = ad.Ad_Rubrik; dbCommand.Parameters.Add("Ad_VaransPris", SqlDbType.Int).Value = ad.Ad_VaransPris; dbCommand.Parameters.Add("Ad_Innehall", SqlDbType.NVarChar, 500).Value = ad.Ad_Innehall; try { dbConnection.Open(); int i = 0; i = dbCommand.ExecuteNonQuery(); if (i == 1) { errormsg = ""; } else { errormsg = "Det gick inte att uppdatera annonsen!"; } return(i); } catch (Exception e) { errormsg = e.Message; return(0); } finally { dbConnection.Close(); } }
/* ALLA POST-METODER. LÄGGER TILL DATA I DATABASEN * Beskrivning: Dessa metoder lägger till en annonsör och en annons i databasen AnnonsDB */ /* Metod: PostAd * Beskrivning: Denna metod lägger till en annons i databasen AnnonsDB * Returnerar: Den nya annonsen som har lagts till */ public int PostAd(Ads ad, out string errormsg) { SqlConnection dbConnection = new SqlConnection { ConnectionString = @"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=AnnonsDB;Integrated Security=True" }; string sqlString = "INSERT INTO Tbl_Ads (Ad_Rubrik, Ad_Annonsor, Ad_Innehall, Ad_VaransPris, Ad_AnnonsPris) " + "VALUES (@Ad_Rubrik, @Ad_Annonsor, @Ad_Innehall, @Ad_VaransPris, @Ad_AnnonsPris)"; SqlCommand dbCommand = new SqlCommand(sqlString, dbConnection); dbCommand.Parameters.Add("Ad_Rubrik", SqlDbType.NVarChar, 50).Value = ad.Ad_Rubrik; dbCommand.Parameters.Add("Ad_Annonsor", SqlDbType.Int).Value = ad.Ad_Annonsor; dbCommand.Parameters.Add("Ad_Innehall", SqlDbType.NVarChar, 500).Value = ad.Ad_Innehall; dbCommand.Parameters.Add("Ad_VaransPris", SqlDbType.Int).Value = ad.Ad_VaransPris; dbCommand.Parameters.Add("Ad_AnnonsPris", SqlDbType.Int).Value = ad.Ad_AnnonsPris; try { dbConnection.Open(); int i = 0; i = dbCommand.ExecuteNonQuery(); if (i == 1) { errormsg = ""; } else { errormsg = "Det skapas ingen ny annons i databasen!"; } return(i); } catch (Exception e) { errormsg = e.Message; return(0); } finally { dbConnection.Close(); } }