Пример #1
0
        private void btnOpslaan_Click(object sender, EventArgs e)
        {
            //Validatie
            if (Validation.hasValidationErrors(this.Controls))
            {
                return;
            }
            //als validatie geslaagd is
            //if (btnOpslaan.Name == "btnAanmaken")
            if (cbbID.Visible == false)
            {
                opdracht nieuwContract = ContractManagement.addContract((klant)cbbKlant.SelectedItem, dtVan.Value, dtTot.Value,
                                                                        Byte.Parse(txtPlaatsen.Text), txtOmschrijving.Text, txtGezelschap.Text, txtMemo.Text,
                                                                        Decimal.Parse(txtDagprijs.Text), true);


                //Vertreklocatie toevoegen aan opdracht
                locatie vertrek = (locatie)cbbVertrek.SelectedItem;
                ContractManagement.addLocatie(nieuwContract, vertrek, "vertrek");

                //Bestemming locatie toevoegen aan opdracht
                locatie bestemming = (locatie)cbbBestemming.SelectedItem;
                ContractManagement.addLocatie(nieuwContract, bestemming, "bestemming");

                //opstap_1 locatie toevoegen aan opdracht
                locatie opstap_1 = (locatie)cbbOpstap_1.SelectedItem;
                ContractManagement.addLocatie(nieuwContract, opstap_1, "opstap_1");

                //opstap_2 locatie toevoegen aan opdracht
                locatie opstap_2 = (locatie)cbbOpstap_2.SelectedItem;
                ContractManagement.addLocatie(nieuwContract, opstap_2, "opstap_2");

                foreach (ucRit ucRit in flpRitten.Controls)
                {
                    contract_rit rit = new contract_rit();
                    rit.dag          = ucRit.dag;
                    rit.rit1_terug   = ucRit.terug_1;
                    rit.rit2_terug   = ucRit.terug_2;
                    rit.rit1_vertrek = ucRit.vertrek_1;
                    rit.rit2_vertrek = ucRit.vertrek_2;

                    opdracht_contract_rit ocr = new opdracht_contract_rit();
                    ocr.contract_rit = rit;
                    ocr.opdracht     = nieuwContract;

                    ContractManagement.addRitBijContract(ocr);
                }


                //Voor elke usercontrol ucChauffeurkiezer in flpChauffeurs een nieuwe chauffeur link toevoegen aan de veel op veel tussentabel
                foreach (ucChauffeurKiezer cha in flpChauffeurs.Controls)
                {
                    opdracht_chauffeur oc = new opdracht_chauffeur();
                    oc.opdracht  = nieuwContract;
                    oc.chauffeur = cha.chauffeur;

                    ContractManagement.addChauffeurBijContract(oc);
                }

                //Voor elke usercontrol ucVoertuigKiezer in flpVoertuigen een nieuwe voertuig link toevoegen aan de veel op veel tussentabel
                foreach (ucVoertuigKiezer voe in flpVoertuigen.Controls)
                {
                    opdracht_voertuig ov = new opdracht_voertuig();
                    ov.opdracht = nieuwContract;
                    ov.voertuig = voe.voertuig;

                    ContractManagement.addVoertuigBijOpdracht(ov);
                }

                cbbID.DataSource = ContractManagement.getContracten();
                //cbbID.SelectedIndex = cbbID.Items.Count - 1;
                cbbID.SelectedItem    = nieuwContract;
                cbbID.Visible         = true;
                MainForm.updateStatus = "Het contract met ID: " + nieuwContract.opdracht_id + ", is succesvol aangemaakt.";
            }
            //else if (btnOpslaan.Name == "btnOpslaan")
            else if (cbbID.Visible == true)
            {
                opdracht oudContract    = (opdracht)cbbID.SelectedItem;
                opdracht updateContract = ContractManagement.updateContract(oudContract.opdracht_id, (klant)cbbKlant.SelectedItem,
                                                                            dtVan.Value, dtTot.Value,
                                                                            Byte.Parse(txtPlaatsen.Text), txtOmschrijving.Text, txtGezelschap.Text, txtMemo.Text,
                                                                            Decimal.Parse(txtDagprijs.Text), true);

                //Vertreklocatie toevoegen aan opdracht
                locatie vertrek = (locatie)cbbVertrek.SelectedItem;
                ContractManagement.addLocatie(updateContract, vertrek, "vertrek");

                //Bestemming locatie toevoegen aan opdracht
                locatie bestemming = (locatie)cbbBestemming.SelectedItem;
                ContractManagement.addLocatie(updateContract, bestemming, "bestemming");

                //opstap_1 locatie toevoegen aan opdracht
                locatie opstap_1 = (locatie)cbbOpstap_1.SelectedItem;
                ContractManagement.addLocatie(updateContract, opstap_1, "opstap_1");

                //opstap_2 locatie toevoegen aan opdracht
                locatie opstap_2 = (locatie)cbbOpstap_2.SelectedItem;
                ContractManagement.addLocatie(updateContract, opstap_2, "opstap_2");


                foreach (contract_rit rit in ContractManagement.getRitten(updateContract.opdracht_id))
                {
                    Boolean bestaat = false;

                    foreach (ucRit ucRit in flpRitten.Controls)
                    {
                        contract_rit schermrit = new contract_rit();
                        schermrit.dag          = ucRit.dag;
                        schermrit.rit1_terug   = ucRit.terug_1;
                        schermrit.rit2_terug   = ucRit.terug_2;
                        schermrit.rit1_vertrek = ucRit.vertrek_1;
                        schermrit.rit2_vertrek = ucRit.vertrek_2;

                        if (rit.dag == schermrit.dag && rit.rit1_terug == schermrit.rit1_terug && rit.rit1_vertrek == schermrit.rit1_vertrek &&
                            rit.rit2_terug == schermrit.rit2_terug && rit.rit2_vertrek == schermrit.rit2_vertrek)
                        {
                            bestaat = true;
                            break;
                        }
                    }

                    if (bestaat == false)
                    {
                        ContractManagement.deleteRit(updateContract, rit);
                    }
                }


                foreach (ucRit ucRit in flpRitten.Controls)
                {
                    contract_rit rit = new contract_rit();
                    rit.dag          = ucRit.dag;
                    rit.rit1_terug   = ucRit.terug_1;
                    rit.rit2_terug   = ucRit.terug_2;
                    rit.rit1_vertrek = ucRit.vertrek_1;
                    rit.rit2_vertrek = ucRit.vertrek_2;

                    if (ContractManagement.bestaatRit(updateContract, rit) == false)
                    {
                        opdracht_contract_rit ocr = new opdracht_contract_rit();
                        ocr.contract_rit = rit;
                        ocr.opdracht     = updateContract;

                        ContractManagement.addRitBijContract(ocr);
                    }
                    else
                    {
                    }
                }


                //Voor elke usercontrol ucChauffeurkiezer in flpChauffeurs een nieuwe chauffeur link toevoegen aan de veel op veel tussentabel
                foreach (ucChauffeurKiezer cha in flpChauffeurs.Controls)
                {
                    opdracht_chauffeur oc = new opdracht_chauffeur();
                    oc.opdracht  = updateContract;
                    oc.chauffeur = cha.chauffeur;

                    ContractManagement.addChauffeurBijContract(oc);
                }

                //Voor elke usercontrol ucVoertuigKiezer in flpVoertuigen een nieuwe voertuig link toevoegen aan de veel op veel tussentabel
                foreach (ucVoertuigKiezer voe in flpVoertuigen.Controls)
                {
                    opdracht_voertuig ov = new opdracht_voertuig();
                    ov.opdracht = updateContract;
                    ov.voertuig = voe.voertuig;

                    ContractManagement.addVoertuigBijOpdracht(ov);
                }

                MainForm.updateStatus = "Het contract met ID: " + updateContract.opdracht_id + ", is succesvol aangepast.";
            }
        }