public class PlantenService : IPlantenService { private String connString = ConfigurationManager.ConnectionStrings["deschop"].ConnectionString; public List GetPlanten() { List lijst = new List(); using (IDbConnection conn = new SqlConnection(connString)) { IDbCommand commando = conn.CreateCommand(); commando.CommandText = "SELECT art_code, plantennaam, soort, kleur, hoogte, bloeibegin, bloeieinde, prijs FROM PLANTEN "; conn.Open(); using (IDataReader reader = commando.ExecuteReader()) { while (reader.Read()) { String art_code = reader.GetString(0); String plantennaam = reader.GetString(1); String soort = reader.GetString(2); String kleur = null; if (!reader.IsDBNull(3)) { kleur = reader.GetString(3); } double hoogte = reader.GetDouble(4); double bloeibegin = reader.GetDouble(5); double bloeieinde = reader.GetDouble(6); double prijs = reader.GetDouble(7); Plant p = new Plant(art_code) { Plantennaam = plantennaam, Soort = soort, Kleur = kleur, Hoogte = hoogte, Bloeibegin = bloeibegin, Bloeieinde = bloeieinde, Prijs = prijs }; lijst.Add(p); } } } return lijst; } public void AddPlant(Plant p) { using (IDbConnection conn = new SqlConnection(connString)) { IDbCommand command = conn.CreateCommand(); command.CommandText = "INSERT INTO PLANTEN (art_code, plantennaam, soort, kleur, hoogte, bloeibegin, bloeieinde, prijs) " + "VALUES (@art_code, @plantennaam, @soort, @kleur, @hoogte, @bloeibegin, @bloeieinde, @prijs)"; AddParameter(command,"@art_code",p.Art_code); AddParameter(command, "@plantennaam", p.Plantennaam); AddParameter(command, "@soort", p.Soort); AddParameter(command, "@kleur", p.Kleur); AddParameter(command, "@hoogte", p.Hoogte); AddParameter(command, "@bloeibegin", p.Bloeibegin); AddParameter(command, "@bloeieinde", p.Bloeieinde); AddParameter(command, "@prijs", p.Prijs); conn.Open(); command.ExecuteNonQuery(); } } public void DeletePlant(Plant p) { using (IDbConnection conn = new SqlConnection(connString)) { IDbCommand commando = conn.CreateCommand(); commando.CommandText = "DELETE from PLANTEN where art_code = @art_code"; AddParameter(commando, "@art_code", p.Art_code); conn.Open(); commando.ExecuteNonQuery(); } } #region Private functies private void AddParameter(IDbCommand command, String naam, object value) { IDbDataParameter param = command.CreateParameter(); param.ParameterName = naam; param.Value = value; command.Parameters.Add(param); } #endregion }