예제 #1
0
        private void BtnWijzigingenDoorvoeren_Click(object sender, RoutedEventArgs e)
        {
            string foutmeldingen = Valideer("cmbTaal");

            foutmeldingen += Valideer("cmbNiveau");
            foutmeldingen += Valideer("cmbCategorie");
            foutmeldingen += Valideer("cmbOnderwerpen");
            foutmeldingen += Valideer("txtPrijs");
            if (string.IsNullOrWhiteSpace(foutmeldingen))
            {
                Taal      taal        = cmbTaal.SelectedItem as Taal;
                Niveau    niveau      = cmbNiveau.SelectedItem as Niveau;
                Categorie onderwerpen = cmbOnderwerpen.SelectedItem as Categorie;
                cursus.Naam         = txtNaamCursus.Text;
                cursus.Categorie    = onderwerpen;
                cursus.Categorie_Id = onderwerpen.Id;
                cursus.Niveau       = niveau;
                cursus.Niveau_Id    = niveau.Id;
                string  seporator = CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator;
                decimal prijs     = System.Convert.ToDecimal(txtPrijs.Text + seporator + txtPrijsDecimaal.Text);
                cursus.Prijs        = prijs;
                cursus.Taal         = taal;
                cursus.Taal_Id      = taal.Id;
                cursus.Beschrijving = txtbBeschrijving.Text;
                if (cursus.IsGeldig())
                {
                    cursusBijzonderheden = DatabaseOperations.OphalenCursusBijzonderhedenViaCursusId(cursus.Id);
                    if (DatabaseOperations.UpdateCursus(cursus) > 0)
                    {
                        string msg = "Uw cursus is succesvol aangepast" + Environment.NewLine;
                        if ((cbOndertitels.IsChecked ?? false) && (!cursusBijzonderheden.Any(x => x.Bijzonderheid.Naam.Equals("Ondertitels"))))
                        {
                            CursusBijzonderheidAanpassen("Ondertitels", ref msg);
                        }
                        if ((cbCodeerOefeningen.IsChecked ?? false) && (!cursusBijzonderheden.Any(x => x.Bijzonderheid.Naam.Equals("Codeeroefeningen"))))
                        {
                            CursusBijzonderheidAanpassen("Codeeroefeningen", ref msg);
                        }
                        if ((cbExamens.IsChecked ?? false) && (!cursusBijzonderheden.Any(x => x.Bijzonderheid.Naam.Equals("Examens"))))
                        {
                            CursusBijzonderheidAanpassen("Examens", ref msg);
                        }
                        if ((cbOefenExamens.IsChecked ?? false) && (!cursusBijzonderheden.Any(x => x.Bijzonderheid.Naam.Equals("Oefenexamens"))))
                        {
                            CursusBijzonderheidAanpassen("Oefenexamens", ref msg);
                        }

                        if (!(cbOndertitels.IsChecked ?? false) && (cursusBijzonderheden.Any(x => x.Bijzonderheid.Naam.Equals("Ondertitels"))))
                        {
                            CursusBijzonderheidVerwijderen("Ondertitels", ref msg);
                        }
                        if (!(cbCodeerOefeningen.IsChecked ?? false) && (cursusBijzonderheden.Any(x => x.Bijzonderheid.Naam.Equals("Codeeroefeningen"))))
                        {
                            CursusBijzonderheidVerwijderen("Codeeroefeningen", ref msg);
                        }
                        if (!(cbExamens.IsChecked ?? false) && (cursusBijzonderheden.Any(x => x.Bijzonderheid.Naam.Equals("Examens"))))
                        {
                            CursusBijzonderheidVerwijderen("Examens", ref msg);
                        }
                        if (!(cbOefenExamens.IsChecked ?? false) && (cursusBijzonderheden.Any(x => x.Bijzonderheid.Naam.Equals("Oefenexamens"))))
                        {
                            CursusBijzonderheidVerwijderen("Oefenexamens", ref msg);
                        }
                        if (msg.Contains("niet"))
                        {
                            MessageBox.Show(msg);
                        }
                        else
                        {
                            MessageBox.Show(msg);
                            OverzichtLesgever overzichtLesgever = new OverzichtLesgever();
                            overzichtLesgever.Show();
                            this.Close();
                        }
                    }
                    else
                    {
                        MessageBox.Show("Uw cursus is niet aangepast. Als het probleem zich blijft voordoen gelieve Udemy te verwittigen");
                    }
                }
                else
                {
                    MessageBox.Show(cursus.Error);
                }
            }
            else
            {
                MessageBox.Show(foutmeldingen);
            }
        }
        private void btnMaakCursusAan_Click(object sender, RoutedEventArgs e)
        {
            lesgever = DatabaseOperations.OphalenLesgeverViaId(Inloggegevens.Id);                                                                                                    //gegevens ophalen van de lesgever via de inloggegevens
            List <Cursus> aantalCursussenLesgever = DatabaseOperations.OphalenCursussenViaLesgeverId(lesgever.Id);                                                                   // voor een unieke code te genereren voor de cursus worden alle cursussen opgehaald om hiervan het aantal te weten zodat deze op volgorde kan aangemaakt worden
            string        code          = lesgever.Id + lesgever.Naam.Substring(0, 1).ToUpper() + lesgever.Voornaam.Substring(0, 1).ToUpper() + (aantalCursussenLesgever.Count + 1); //creëren unieke code
            string        foutmeldingen = Valideer("cmbTaal");                                                                                                                       //validatie

            foutmeldingen += Valideer("cmbNiveau");
            foutmeldingen += Valideer("cmbCategorie");
            foutmeldingen += Valideer("cmbOnderwerpen");
            foutmeldingen += Valideer("txtPrijs");        //moet gevalideert worden hier en niet in de methode is geldig omdat deze geconverteerd moet worden naar een decimal
            if (string.IsNullOrWhiteSpace(foutmeldingen)) //Indien er geen foutmeldingen kan een cursus aangemaakt worden
            {
                //opvullen gegevens
                Taal      taal        = cmbTaal.SelectedItem as Taal;
                Niveau    niveau      = cmbNiveau.SelectedItem as Niveau;
                Categorie onderwerpen = cmbOnderwerpen.SelectedItem as Categorie;
                cursus.Naam         = txtNaamCursus.Text;
                cursus.Datum        = DateTime.Now;
                cursus.Categorie_Id = onderwerpen.Id;
                cursus.Niveau_Id    = niveau.Id;
                string  seporator = CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator;
                decimal prijs     = System.Convert.ToDecimal(txtPrijs.Text + seporator + txtPrijsDecimaal.Text);
                //prijs is in 2 velden opgemaakt omdat ik dit niet in orde kreeg om een Amerikaanse notatie . of Belgische notatie , in een getal eruit te halen
                cursus.Prijs        = prijs;
                cursus.Taal_Id      = taal.Id;
                cursus.Code         = code;
                cursus.Beschrijving = txtbBeschrijving.Text;
                cursus.Lesgever_Id  = lesgever.Id;
                if (cursus.IsGeldig())//Via de partial class wordt gekeken of deze cursus geldig is
                {
                    if (DatabaseOperations.ToevoegenCursus(cursus) > 0)
                    {
                        //Wanneer de cursus is aangemaakt worden zijn bijhorende bijzonderheden aangemaakt
                        string msg = "Uw cursus is aangemaakt" + Environment.NewLine;
                        if (cbOndertitels.IsChecked ?? false)
                        {
                            CursusBijzonderheidToevoegen("Ondertitels", ref msg);
                        }
                        if (cbExamens.IsChecked ?? false)
                        {
                            CursusBijzonderheidToevoegen("Examens", ref msg);
                        }
                        if (cbCodeerOefeningen.IsChecked ?? false)
                        {
                            CursusBijzonderheidToevoegen("Codeeroefeningen", ref msg);
                        }
                        if (cbOefenExamens.IsChecked ?? false)
                        {
                            CursusBijzonderheidToevoegen("Oefenexamens", ref msg);
                        }
                        if (msg.Contains("niet"))
                        {
                            msg = "Er is een fout in de cursus bijzonderheden en deze worden terug verwijdert:";
                            //Men probeert de cursusbijzonderheden te verwijderen omdat er een fout in de databank zit
                            List <Cursus_Bijzonderheid> cursusBijzonderheden = DatabaseOperations.OphalenCursusBijzonderhedenViaCursusId(cursus.Id);
                            bool verwijderenGelukt = true;
                            foreach (var item in cursusBijzonderheden)
                            {
                                if (!CursusBijzonderheidVerwijderen(item.Bijzonderheid.Naam, ref msg))
                                {
                                    verwijderenGelukt = false;
                                }
                            }
                            if (verwijderenGelukt == false)
                            {
                                MessageBox.Show($"Uw cursus kon niet verwijdert worden. {msg}");
                            }
                            else
                            {
                                Cursus verwijderenCursus = DatabaseOperations.OphalenCursusViaId(cursus.Id);
                                if (DatabaseOperations.VerwijderenCursus(verwijderenCursus) > 0)
                                {
                                    MessageBox.Show("Uw cursus en zijn bijzonderheden zijn terug verwijdert wegens een fout bij het toevoegen van de cursus");
                                }
                                else
                                {
                                    MessageBox.Show("De cursus is aangemaakt zonder zijn bijzonderheden door fouten in de bijzonderheden");
                                }
                            }
                        }
                        else
                        {
                            //Indien alles gelukt is wordt de gebruiker terug geleid naar zijn overzicht
                            MessageBox.Show(msg);
                            OverzichtLesgever overzichtLesgever = new OverzichtLesgever();
                            overzichtLesgever.Show();
                            this.Close();
                        }
                    }
                    else
                    {
                        MessageBox.Show("Uw cursus is niet toegevoegd. Als het probleem zich blijft voordoen gelieve Udemy te verwittigen");
                    }
                }
                else
                {
                    MessageBox.Show(cursus.Error);
                }
            }
            else
            {
                MessageBox.Show(foutmeldingen);
            }
        }