Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- namespace HotelSysteem
- {
- public partial class PersonenForm : Form
- {
- List<Persoon> CheckedPersonen = new List<Persoon>();
- bool NewCheckedPersoon = false;
- public PersonenForm()
- {
- InitializeComponent();
- Persoon x = new Persoon("Remco", "van Geffen", "Boskoop", 27, "", "Asten", "Nederland", 20, 0);
- Persoon y = new Persoon("Ries", "van Geffen", "Boskoop", 27, "", "Asten", "Nederland", 20, 0);
- Persoon z = new Persoon("Sjaak", "van Geffen", "Boskoop", 27, "", "Asten", "Nederland", 20, 0);
- Persoon i = new Persoon("Piet", "van Geffen", "Boskoop", 27, "", "Asten", "Nederland", 20, 0);
- Persoon o = new Persoon("Jan", "van Geffen", "Boskoop", 27, "", "Asten", "Nederland", 20, 0);
- Global.Gasten.Add(x);
- Global.Gasten.Add(y);
- Global.Gasten.Add(z);
- Global.Gasten.Add(i);
- Global.Gasten.Add(o);
- LaadAlleGasten();
- Global.GeselecteerdeGasten.Clear();
- }
- public PersonenForm(Persoon persoon)
- {
- InitializeComponent();
- LaadAlleGasten();
- Global.GeselecteerdeGasten.Clear();
- TcPersonen.SelectedIndex = 1;
- TbInfoVoornaam.Text = persoon.Voornaam;
- TbInfoAchternaam.Text = persoon.Achternaam;
- TbInfoStraatnaam.Text = persoon.Straatnaam;
- NudInfoHuisnummer.Value = persoon.Huisnummer;
- TbInfoToevoeging.Text = persoon.Toevoeging;
- TbInfoWoonplaats.Text = persoon.Woonplaats;
- TbInfoLand.Text = persoon.Land;
- NudInfoLeeftijd.Value = persoon.Leeftijd;
- CbInfoGeslacht.SelectedIndex = (int)persoon.Geslacht;
- }
- private void BtnMaakAlleVeldenLeeg_Click(object sender, EventArgs e)
- {
- MaakAlleVeldenLeeg();
- }
- private void BtnVoegNieuwPersoonToe_Click(object sender, EventArgs e)
- {
- // Store inputs for visibility
- string Voornaam = TbVoornaam.Text;
- string Achternaam = TbAchternaam.Text;
- string Straatnaam = TbStraatnaam.Text;
- int Huisnummer = Convert.ToInt32(NudHuisnummer.Value);
- string Toevoeging = TbToevoeging.Text;
- string Woonplaats = TbWoonplaats.Text;
- string Land = TbLand.Text;
- int Leeftijd = Convert.ToInt32(NudLeeftijd.Value);
- int Geslacht = CbGeslacht.SelectedIndex;
- // Valideer invoervelden
- if(Voornaam == "" || Achternaam == "" || Straatnaam == "" || Huisnummer == 0 || Woonplaats == "" || Land == "" || Leeftijd == 0 || Geslacht == -1) { return; }
- // Maak instantie van Persoon
- Persoon persoon = new Persoon(Voornaam, Achternaam, Straatnaam, Huisnummer, Toevoeging, Woonplaats, Land, Leeftijd, (Persoon.GeslachtType) Geslacht);
- VoegPersoonToeAanListView(persoon);
- // Voeg persoon toe aan globale lijst
- Global.Gasten.Add(persoon);
- MaakAlleVeldenLeeg();
- }
- private void BtnKlaar_Click(object sender, EventArgs e)
- {
- foreach (Persoon persoon in CheckedPersonen)
- {
- // Global.GeselecteerdeGasten worden toegevoegd in de desbetreffende ListView in het MainForm
- Global.GeselecteerdeGasten.Add(persoon);
- }
- // De geselecteerde personen worden alleen toegevoegd als het DialogResult OK is
- this.DialogResult = DialogResult.OK;
- this.Close();
- }
- private void LvPersonen_SelectedIndexChanged(object sender, EventArgs e)
- {
- if (LvPersonen.SelectedItems.Count > 0)
- {
- Persoon persoon = (Persoon)LvPersonen.SelectedItems[0].Tag;
- TbInfoVoornaam.Text = persoon.Voornaam;
- TbInfoAchternaam.Text = persoon.Achternaam;
- TbInfoStraatnaam.Text = persoon.Straatnaam;
- NudInfoHuisnummer.Value = persoon.Huisnummer;
- TbInfoToevoeging.Text = persoon.Toevoeging;
- TbInfoWoonplaats.Text = persoon.Woonplaats;
- TbInfoLand.Text = persoon.Land;
- NudInfoLeeftijd.Value = persoon.Leeftijd;
- CbInfoGeslacht.SelectedIndex = (int) persoon.Geslacht;
- }
- }
- private void LvPersonen_ItemChecked(object sender, ItemCheckedEventArgs e)
- {
- // Als een persoon checked is en via de code wordt toegevoegd wordt deze functie 2x aangeroepen
- if(NewCheckedPersoon == true)
- {
- NewCheckedPersoon = false;
- return;
- }
- if(CheckedPersonen.Count == Kamer.MaxPersonen && e.Item.Checked == true && !CheckedPersonen.Contains((Persoon) e.Item.Tag))
- {
- e.Item.Checked = false;
- return;
- }
- Persoon _persoon = (Persoon)e.Item.Tag;
- if(e.Item.Checked == true)
- {
- if (!CheckedPersonen.Contains(_persoon))
- {
- CheckedPersonen.Add(_persoon);
- }
- }
- else
- {
- if (CheckedPersonen.Contains(_persoon))
- {
- CheckedPersonen.Remove(_persoon);
- }
- }
- }
- private void CbAlleenCheckedPersonen_CheckedChanged(object sender, EventArgs e)
- {
- if (CbAlleenCheckedPersonen.Checked)
- {
- LvPersonen.Items.Clear();
- foreach (Persoon persoon in CheckedPersonen)
- {
- // Voeg alleen checked personen toe aan de lege ListView
- VoegPersoonToeAanListView(persoon);
- }
- }
- else
- {
- LvPersonen.Items.Clear();
- LaadAlleGasten();
- }
- }
- private void BtnZoekPersoon_Click(object sender, EventArgs e)
- {
- if(TbZoekNaam.Text.Length > 2)
- {
- LvPersonen.Items.Clear();
- foreach (Persoon persoon in Global.Gasten)
- {
- if (persoon.Voornaam.ToLower().Contains(TbZoekNaam.Text.ToLower().Trim()))
- {
- VoegPersoonToeAanListView(persoon);
- }
- }
- }
- else
- {
- // Om spam op de button tegen te houden
- if(Global.Gasten.Count == LvPersonen.Items.Count) { return; }
- LvPersonen.Items.Clear();
- LaadAlleGasten();
- }
- }
- private void LvPersonen_ColumnWidthChanging(object sender, ColumnWidthChangingEventArgs e)
- {
- e.NewWidth = this.LvPersonen.Columns[e.ColumnIndex].Width;
- e.Cancel = true;
- }
- /// <summary>
- /// Laad alle gasten in de ListView vanuit de Gasten lijst
- /// </summary>
- private void LaadAlleGasten()
- {
- foreach(Persoon persoon in Global.Gasten)
- {
- VoegPersoonToeAanListView(persoon);
- }
- }
- /// <summary>
- /// Voeg een persoon toe aan de ListView
- /// </summary>
- /// <param name="persoon"></param>
- private void VoegPersoonToeAanListView(Persoon persoon)
- {
- bool checkedState = false;
- if (CheckedPersonen.Contains(persoon))
- {
- checkedState = true;
- }
- // Maak een ListViewItem met een aantal gegevens van de persoon
- ListViewItem NewListViewItem = new ListViewItem(new[] { "", persoon.Voornaam, persoon.Achternaam, persoon.Woonplaats }) {
- Tag = persoon,
- Checked = checkedState
- };
- if(checkedState == true){ NewCheckedPersoon = true; }
- LvPersonen.Items.Add(NewListViewItem);
- }
- /// <summary>
- /// Maak alle invoervelden leeg
- /// </summary>
- private void MaakAlleVeldenLeeg()
- {
- TbVoornaam.Text = "";
- TbAchternaam.Text = "";
- TbStraatnaam.Text = "";
- NudHuisnummer.Value = 0;
- TbToevoeging.Text = "";
- TbWoonplaats.Text = "";
- TbLand.Text = "";
- NudLeeftijd.Value = 0;
- CbGeslacht.SelectedIndex = -1;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement