示例#1
0
        public decimal BerekenGemiddeldeKostprijs(string soort)
        {
            var dbManager = new TuinDbManager();

            using (var conTuin = dbManager.GetConnection())
            {
                using (var comGemPrijs = conTuin.CreateCommand())
                {
                    comGemPrijs.CommandType = CommandType.StoredProcedure;
                    comGemPrijs.CommandText = "BerekenGemiddeldeKostprijs";

                    var parSoort = comGemPrijs.CreateParameter();
                    parSoort.ParameterName = "@soort";
                    parSoort.Value         = soort;
                    comGemPrijs.Parameters.Add(parSoort);

                    conTuin.Open();
                    object result = comGemPrijs.ExecuteScalar();
                    if (result == null)
                    {
                        throw new Exception("Soortnummer bestaat niet");
                    }
                    else
                    {
                        return((decimal)result);
                    }
                }
            }
        }
示例#2
0
        public List <Soort> GetSoorten()
        {
            List <Soort> soorten = new List <Soort>();
            var          manager = new TuinDbManager();

            using (var conTuin = manager.GetConnection())
            {
                using (var comSoorten = conTuin.CreateCommand())
                {
                    comSoorten.CommandType = CommandType.Text;
                    comSoorten.CommandText = "SELECT SoortNr, Soort FROM Soorten ORDER BY Soort";

                    conTuin.Open();

                    using (var rdrPlanten = comSoorten.ExecuteReader())
                    {
                        var soortNrPos   = rdrPlanten.GetOrdinal("SoortNr");
                        var soortNaamPos = rdrPlanten.GetOrdinal("Soort");

                        while (rdrPlanten.Read())
                        {
                            soorten.Add(
                                new Soort(
                                    rdrPlanten.GetInt32(soortNrPos),
                                    rdrPlanten.GetString(soortNaamPos)
                                    )
                                );
                        }
                    }
                }
            }
            return(soorten);
        }
        public List <Leverancier> SchrijfWijzigingen(List <Leverancier> leveranciers)
        {
            List <Leverancier> nietGewijzigdeLeveranciers = new List <Leverancier>();
            var manager = new TuinDbManager();

            using (var conTuin = manager.GetConnection())
            {
                using (var comUpdate = conTuin.CreateCommand())
                {
                    comUpdate.CommandType = CommandType.Text;
                    comUpdate.CommandText = "UPDATE Leveranciers SET Naam=@naam, Adres=@adres, PostNr=@postnr, Woonplaats=@woonplaats WHERE LevNr=@levnr";

                    var parAdres = comUpdate.CreateParameter();
                    parAdres.ParameterName = "@adres";
                    comUpdate.Parameters.Add(parAdres);

                    var parLevNr = comUpdate.CreateParameter();
                    parLevNr.ParameterName = "@levnr";
                    comUpdate.Parameters.Add(parLevNr);

                    var parNaam = comUpdate.CreateParameter();
                    parNaam.ParameterName = "@naam";
                    comUpdate.Parameters.Add(parNaam);

                    var parPostNr = comUpdate.CreateParameter();
                    parPostNr.ParameterName = "@postnr";
                    comUpdate.Parameters.Add(parPostNr);

                    var parWoonplaats = comUpdate.CreateParameter();
                    parWoonplaats.ParameterName = "@woonplaats";
                    comUpdate.Parameters.Add(parWoonplaats);

                    conTuin.Open();

                    foreach (Leverancier l in leveranciers)
                    {
                        try
                        {
                            parAdres.Value      = l.Adres;
                            parLevNr.Value      = l.LevNr;
                            parNaam.Value       = l.Naam;
                            parPostNr.Value     = l.PostNr;
                            parWoonplaats.Value = l.Woonplaats;

                            if (comUpdate.ExecuteNonQuery() == 0)
                            {
                                nietGewijzigdeLeveranciers.Add(l);
                            }
                        }
                        catch (Exception)
                        {
                            nietGewijzigdeLeveranciers.Add(l);
                        }
                    }
                }
            }
            return(nietGewijzigdeLeveranciers);
        }
        public List <Leverancier> SchrijfToevoegingen(List <Leverancier> leveranciers)
        {
            var nietToegevoegdeLeveranciers = new List <Leverancier>();
            var manager = new TuinDbManager();

            using (var conTuin = manager.GetConnection())
            {
                using (var comInsert = conTuin.CreateCommand())
                {
                    comInsert.CommandType = CommandType.Text;
                    comInsert.CommandText = "INSERT INTO Leveranciers (Naam, Adres, PostNr, Woonplaats) VALUES (@naam, @adres, @postnr, @woonplaats)";

                    var parAdres = comInsert.CreateParameter();
                    parAdres.ParameterName = "@adres";
                    comInsert.Parameters.Add(parAdres);

                    var parNaam = comInsert.CreateParameter();
                    parNaam.ParameterName = "@naam";
                    comInsert.Parameters.Add(parNaam);

                    var parPostNr = comInsert.CreateParameter();
                    parPostNr.ParameterName = "@postnr";
                    comInsert.Parameters.Add(parPostNr);

                    var parWoonplaats = comInsert.CreateParameter();
                    parWoonplaats.ParameterName = "@woonplaats";
                    comInsert.Parameters.Add(parWoonplaats);

                    conTuin.Open();

                    foreach (Leverancier l in leveranciers)
                    {
                        try
                        {
                            parAdres.Value      = l.Adres;
                            parNaam.Value       = l.Naam;
                            parPostNr.Value     = l.PostNr;
                            parWoonplaats.Value = l.Woonplaats;

                            if (comInsert.ExecuteNonQuery() == 0)
                            {
                                nietToegevoegdeLeveranciers.Add(l);
                            }
                        }
                        catch (Exception)
                        {
                            nietToegevoegdeLeveranciers.Add(l);
                        }
                    } // foreach
                }     // comDelete
            }         // conTuin
            return(nietToegevoegdeLeveranciers);
        }
示例#5
0
        public void VervangLeverancier(string oudeLeverancierNr, string nieuweLeverancierNr)
        {
            var DbManager = new TuinDbManager();

            var opties = new TransactionOptions();

            opties.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted;
            using (var traVervangLeverancier = new TransactionScope(TransactionScopeOption.Required, opties))
            {
                using (var conTuin = DbManager.GetConnection())
                {
                    using (var comVervangen = conTuin.CreateCommand())
                    {
                        comVervangen.CommandType = CommandType.Text;
                        comVervangen.CommandText = "UPDATE Planten SET Levnr=@nieuw WHERE Levnr=@oud";

                        var parOud = comVervangen.CreateParameter();
                        parOud.ParameterName = "@oud";
                        parOud.Value         = oudeLeverancierNr;
                        comVervangen.Parameters.Add(parOud);

                        var parNieuw = comVervangen.CreateParameter();
                        parNieuw.ParameterName = "@nieuw";
                        parNieuw.Value         = nieuweLeverancierNr;
                        comVervangen.Parameters.Add(parNieuw);

                        conTuin.Open();
                        if (comVervangen.ExecuteNonQuery() == 0)
                        {
                            throw new Exception("Een van de leveranciers bestaat niet");
                        }
                    } // using comVervangen
                    using (var comVerwijder = conTuin.CreateCommand())
                    {
                        comVerwijder.CommandType = CommandType.Text;
                        comVerwijder.CommandText = "DELETE FROM Leveranciers WHERE LevNr=@oud";

                        var parOud = comVerwijder.CreateParameter();
                        parOud.ParameterName = "@oud";
                        parOud.Value         = oudeLeverancierNr;
                        comVerwijder.Parameters.Add(parOud);

                        if (comVerwijder.ExecuteNonQuery() == 0)
                        {
                            throw new Exception("Het opgegeven oude leveranciers nummer bestaat niet");
                        }
                        traVervangLeverancier.Complete();
                    } // using comVerwijder
                }
            }
        }
示例#6
0
        public Int32 Eindejaarskorting()
        {
            TuinDbManager dbManager = new TuinDbManager();

            using (var conTuin = dbManager.GetConnection())
            {
                using (var comEindejaarskorting = conTuin.CreateCommand())
                {
                    comEindejaarskorting.CommandType = CommandType.StoredProcedure;
                    comEindejaarskorting.CommandText = "Eindejaarskorting";

                    conTuin.Open();
                    return(comEindejaarskorting.ExecuteNonQuery());
                }
            }
        }
示例#7
0
        public List <Plant> SchrijfWijzigingen(List <Plant> planten)
        {
            List <Plant> nietDoorgevoerdePlanten = new List <Plant>();
            var          manager = new TuinDbManager();

            using (var conTuin = manager.GetConnection())
            {
                using (var comEdit = conTuin.CreateCommand())
                {
                    comEdit.CommandType = CommandType.Text;
                    comEdit.CommandText = "UPDATE Planten SET Kleur=@kleur, VerkoopPrijs=@verkoopprijs WHERE PlantNr=@plantnr";

                    var parKleur = comEdit.CreateParameter();
                    parKleur.ParameterName = "@kleur";
                    comEdit.Parameters.Add(parKleur);

                    var parPlantNr = comEdit.CreateParameter();
                    parPlantNr.ParameterName = "@plantnr";
                    comEdit.Parameters.Add(parPlantNr);

                    var parVerkoopPrijs = comEdit.CreateParameter();
                    parVerkoopPrijs.ParameterName = "@verkoopprijs";
                    comEdit.Parameters.Add(parVerkoopPrijs);

                    conTuin.Open();

                    foreach (Plant eenPlant in planten)
                    {
                        try
                        {
                            parKleur.Value        = eenPlant.Kleur;
                            parPlantNr.Value      = eenPlant.PlantNr;
                            parVerkoopPrijs.Value = eenPlant.VerkoopPrijs;
                            if (comEdit.ExecuteNonQuery() == 0)
                            {
                                nietDoorgevoerdePlanten.Add(eenPlant);
                            }
                        }
                        catch (Exception)
                        {
                            nietDoorgevoerdePlanten.Add(eenPlant);
                        }
                    } // foreach
                }     // using comEdit
            }         // conBier
            return(nietDoorgevoerdePlanten);
        }
示例#8
0
        public List <Plant> GetPlanten(int soortnr)
        {
            var planten = new List <Plant>();
            var manager = new TuinDbManager();

            using (var conTuin = manager.GetConnection())
            {
                using (var comPlanten = conTuin.CreateCommand())
                {
                    comPlanten.CommandType = CommandType.Text;
                    comPlanten.CommandText = "select * from planten where soortnr = @soortnr order by naam";
                    var parSoortNr = comPlanten.CreateParameter();
                    parSoortNr.ParameterName = "@soortnr";
                    parSoortNr.Value         = soortnr;
                    comPlanten.Parameters.Add(parSoortNr);
                    conTuin.Open();
                    using (var rdrPlanten = comPlanten.ExecuteReader())
                    {
                        var plantNaamPos = rdrPlanten.GetOrdinal("Naam");
                        var plantNrPos   = rdrPlanten.GetOrdinal("PlantNr");
                        var levnrPos     = rdrPlanten.GetOrdinal("Levnr");
                        var prijsPos     = rdrPlanten.GetOrdinal("VerkoopPrijs");
                        var kleurPos     = rdrPlanten.GetOrdinal("Kleur");
                        var soortPos     = rdrPlanten.GetOrdinal("SoortNr");
                        while (rdrPlanten.Read())
                        {
                            var eenPlant = new Plant(
                                rdrPlanten.GetInt32(plantNrPos),
                                rdrPlanten.GetString(plantNaamPos),
                                rdrPlanten.GetInt32(soortPos),
                                rdrPlanten.GetInt32(levnrPos),
                                rdrPlanten.GetString(kleurPos),
                                rdrPlanten.GetDecimal(prijsPos)
                                );
                            planten.Add(eenPlant);
                        }
                    }
                }
            }
            return(planten);
        }
示例#9
0
        public void GewijzigdePlantenOpslaan(List <Plant> gewijzigdePlanten)
        {
            var manager = new TuinDbManager();

            using (var conTuin = manager.GetConnection())
            {
                using (var comUpate = conTuin.CreateCommand())
                {
                    comUpate.CommandType = CommandType.Text;
                    comUpate.CommandText = "UPDATE Planten SET Kleur=@kleur, VerkoopPrijs=@verkoopprijs WHERE PlantNr=@plantnr";

                    var parKleur = comUpate.CreateParameter();
                    parKleur.ParameterName = "@kleur";
                    comUpate.Parameters.Add(parKleur);

                    var parPlantNr = comUpate.CreateParameter();
                    parPlantNr.ParameterName = "@plantnr";
                    comUpate.Parameters.Add(parPlantNr);

                    var parVerkoopPrijs = comUpate.CreateParameter();
                    parVerkoopPrijs.ParameterName = "@verkoopprijs";
                    comUpate.Parameters.Add(parVerkoopPrijs);

                    conTuin.Open();

                    foreach (Plant p in gewijzigdePlanten)
                    {
                        parKleur.Value        = p.Kleur;
                        parPlantNr.Value      = p.PlantNr;
                        parVerkoopPrijs.Value = p.VerkoopPrijs;
                        if (comUpate.ExecuteNonQuery() == 0)
                        {
                            throw new Exception(p.PlantNaam + " opslaan mislukt");
                        }
                    }
                }
            }
        }
        public List <Leverancier> SchrijfVerwijderingen(List <Leverancier> leveranciers)
        {
            var nietVerwijderdeLeveranciers = new List <Leverancier>();
            var manager = new TuinDbManager();

            using (var conTuin = manager.GetConnection())
            {
                using (var comDelete = conTuin.CreateCommand())
                {
                    comDelete.CommandType = CommandType.Text;
                    comDelete.CommandText = "DELETE FROM Leveranciers WHERE LevNr=@levnr";

                    var parLevNr = comDelete.CreateParameter();
                    parLevNr.ParameterName = "@levnr";
                    comDelete.Parameters.Add(parLevNr);

                    conTuin.Open();

                    foreach (Leverancier l in leveranciers)
                    {
                        try
                        {
                            parLevNr.Value = l.LevNr;
                            Console.WriteLine(parLevNr);
                            if (comDelete.ExecuteNonQuery() == 0)
                            {
                                nietVerwijderdeLeveranciers.Add(l);
                            }
                        }
                        catch (Exception)
                        {
                            nietVerwijderdeLeveranciers.Add(l);
                        }
                    } // foreach
                }     // comDelete
            }         // conTuin
            return(nietVerwijderdeLeveranciers);
        }
示例#11
0
        public Int64 ToevoegenReturnInt(string name, string adres, string postcode, string plaats)
        {
            TuinDbManager DbManager = new TuinDbManager();

            using (var conTuin = DbManager.GetConnection())
            {
                using (var comToevoegen = conTuin.CreateCommand())
                {
                    comToevoegen.CommandType = CommandType.StoredProcedure;
                    comToevoegen.CommandText = "ToevoegenReturnInt";

                    DbParameter parName = comToevoegen.CreateParameter();
                    parName.ParameterName = "@naam";
                    parName.Value         = name;
                    comToevoegen.Parameters.Add(parName);

                    DbParameter parAdres = comToevoegen.CreateParameter();
                    parAdres.ParameterName = "@adres";
                    parAdres.Value         = adres;
                    comToevoegen.Parameters.Add(parAdres);

                    DbParameter parPostcode = comToevoegen.CreateParameter();
                    parPostcode.ParameterName = "@postcode";
                    parPostcode.Value         = postcode;
                    comToevoegen.Parameters.Add(parPostcode);

                    DbParameter parPlaats = comToevoegen.CreateParameter();
                    parPlaats.ParameterName = "@plaats";
                    parPlaats.Value         = plaats;
                    comToevoegen.Parameters.Add(parPlaats);

                    conTuin.Open();
                    Int64 leverancierNr = Convert.ToInt64(comToevoegen.ExecuteScalar());
                    return(leverancierNr);
                } // using comToevoegen
            }     // using conTuin
        }
示例#12
0
        public bool Toevoegen(string name, string adres, string postcode, string plaats)
        {
            TuinDbManager DbManager = new TuinDbManager();

            using (var conTuin = DbManager.GetConnection())
            {
                using (var comTuin = conTuin.CreateCommand())
                {
                    comTuin.CommandType = CommandType.StoredProcedure;
                    comTuin.CommandText = "Toevoegen";

                    DbParameter parName = comTuin.CreateParameter();
                    parName.ParameterName = "@naam";
                    parName.Value         = name;
                    comTuin.Parameters.Add(parName);

                    DbParameter parAdres = comTuin.CreateParameter();
                    parAdres.ParameterName = "@adres";
                    parAdres.Value         = adres;
                    comTuin.Parameters.Add(parAdres);

                    DbParameter parPostcode = comTuin.CreateParameter();
                    parPostcode.ParameterName = "@postcode";
                    parPostcode.Value         = postcode;
                    comTuin.Parameters.Add(parPostcode);

                    DbParameter parPlaats = comTuin.CreateParameter();
                    parPlaats.ParameterName = "@plaats";
                    parPlaats.Value         = plaats;
                    comTuin.Parameters.Add(parPlaats);

                    conTuin.Open();
                    return(comTuin.ExecuteNonQuery() != 0);
                }
            }
        }
        public ObservableCollection <Leverancier> GetLeveranciers()
        {
            ObservableCollection <Leverancier> leveranciers = new ObservableCollection <Leverancier>();
            var manager = new TuinDbManager();

            using (var conTuin = manager.GetConnection())
            {
                using (var comLeveranciers = conTuin.CreateCommand())
                {
                    comLeveranciers.CommandType = CommandType.Text;
                    comLeveranciers.CommandText = "SELECT * FROM Leveranciers";
                    conTuin.Open();

                    using (var rdrLeveranciers = comLeveranciers.ExecuteReader())
                    {
                        Int32 levNrPos      = rdrLeveranciers.GetOrdinal("LevNr");
                        Int32 naamPos       = rdrLeveranciers.GetOrdinal("Naam");
                        Int32 adresPos      = rdrLeveranciers.GetOrdinal("Adres");
                        Int32 postNrPos     = rdrLeveranciers.GetOrdinal("PostNr");
                        Int32 woonplaatsPos = rdrLeveranciers.GetOrdinal("Woonplaats");

                        while (rdrLeveranciers.Read())
                        {
                            leveranciers.Add(new Leverancier(
                                                 rdrLeveranciers.GetInt32(levNrPos),
                                                 rdrLeveranciers.GetString(naamPos),
                                                 rdrLeveranciers.GetString(adresPos),
                                                 rdrLeveranciers.GetString(postNrPos),
                                                 rdrLeveranciers.GetString(woonplaatsPos)
                                                 ));
                        } // do while
                    }     // using rdrBrouwers
                }         // using comBrouwers
            }             // using conBieren
            return(leveranciers);
        }