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."; } }