private void btnMaakFactuur_Click(object sender, EventArgs e) { opdracht selectedContract = (opdracht)cbbID.SelectedItem; contract_factuur nieuweFactuur = new contract_factuur(); nieuweFactuur.opdracht = selectedContract; nieuweFactuur.periode_begin = dtPeriodeBegin.Value; nieuweFactuur.periode_einde = dtPeriodeEinde.Value; TimeSpan aantaldagen = dtPeriodeEinde.Value - dtPeriodeBegin.Value; int dagen = aantaldagen.Days + 1; nieuweFactuur.prijs = (selectedContract.contract_dagprijs * dagen) + ((selectedContract.contract_dagprijs * dagen) * 6 / 100); nieuweFactuur.betaald = false; nieuweFactuur.betaling_memo = string.Empty; ContractManagement.addFactuur(nieuweFactuur); cbbFactuurID.DataSource = ContractManagement.getFacturenVanContract(selectedContract); if (ContractManagement.getFacturenVanContract(selectedContract).Any() == true) { contract_factuur laatste_factuur = ContractManagement.getFacturenVanContract(selectedContract).Last(); dtPeriodeBegin.MinDate = laatste_factuur.periode_einde; dtPeriodeBegin.MaxDate = selectedContract.tot_datum; dtPeriodeEinde.MinDate = laatste_factuur.periode_einde; dtPeriodeEinde.MaxDate = selectedContract.tot_datum; dtPeriodeBegin.Value = laatste_factuur.periode_einde; //Als het contract korter is dan 1 maand, kunnen er geen facturen gemaakt worden voor 1 maand, dus factuur van begindatum tot einddatum. if (laatste_factuur.periode_einde.AddMonths(1) > selectedContract.tot_datum) { dtPeriodeEinde.Value = selectedContract.tot_datum; } else { dtPeriodeEinde.Value = laatste_factuur.periode_einde.AddMonths(1); } } else { dtPeriodeBegin.MinDate = selectedContract.vanaf_datum; dtPeriodeBegin.MaxDate = selectedContract.tot_datum; dtPeriodeEinde.MinDate = selectedContract.vanaf_datum; dtPeriodeEinde.MaxDate = selectedContract.tot_datum; dtPeriodeBegin.Value = selectedContract.vanaf_datum; //Als het contract korter is dan 1 maand, kunnen er geen facturen gemaakt worden voor 1 maand, dus factuur van begindatum tot einddatum. if (selectedContract.vanaf_datum.AddMonths(1) > selectedContract.tot_datum) { dtPeriodeEinde.Value = selectedContract.tot_datum; } else { dtPeriodeEinde.Value = selectedContract.vanaf_datum.AddMonths(1); } } }