Advertisement
Guest User

Untitled

a guest
Dec 18th, 2017
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.81 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10.  
  11. namespace HotelSysteem
  12. {
  13. public partial class PersonenForm : Form
  14. {
  15. List<Persoon> CheckedPersonen = new List<Persoon>();
  16. bool NewCheckedPersoon = false;
  17.  
  18. public PersonenForm()
  19. {
  20. InitializeComponent();
  21. Persoon x = new Persoon("Remco", "van Geffen", "Boskoop", 27, "", "Asten", "Nederland", 20, 0);
  22. Persoon y = new Persoon("Ries", "van Geffen", "Boskoop", 27, "", "Asten", "Nederland", 20, 0);
  23. Persoon z = new Persoon("Sjaak", "van Geffen", "Boskoop", 27, "", "Asten", "Nederland", 20, 0);
  24. Persoon i = new Persoon("Piet", "van Geffen", "Boskoop", 27, "", "Asten", "Nederland", 20, 0);
  25. Persoon o = new Persoon("Jan", "van Geffen", "Boskoop", 27, "", "Asten", "Nederland", 20, 0);
  26. Global.Gasten.Add(x);
  27. Global.Gasten.Add(y);
  28. Global.Gasten.Add(z);
  29. Global.Gasten.Add(i);
  30. Global.Gasten.Add(o);
  31. LaadAlleGasten();
  32. Global.GeselecteerdeGasten.Clear();
  33. }
  34.  
  35. public PersonenForm(Persoon persoon)
  36. {
  37. InitializeComponent();
  38. LaadAlleGasten();
  39. Global.GeselecteerdeGasten.Clear();
  40. TcPersonen.SelectedIndex = 1;
  41.  
  42. TbInfoVoornaam.Text = persoon.Voornaam;
  43. TbInfoAchternaam.Text = persoon.Achternaam;
  44. TbInfoStraatnaam.Text = persoon.Straatnaam;
  45. NudInfoHuisnummer.Value = persoon.Huisnummer;
  46. TbInfoToevoeging.Text = persoon.Toevoeging;
  47. TbInfoWoonplaats.Text = persoon.Woonplaats;
  48. TbInfoLand.Text = persoon.Land;
  49. NudInfoLeeftijd.Value = persoon.Leeftijd;
  50. CbInfoGeslacht.SelectedIndex = (int)persoon.Geslacht;
  51. }
  52.  
  53. private void BtnMaakAlleVeldenLeeg_Click(object sender, EventArgs e)
  54. {
  55. MaakAlleVeldenLeeg();
  56. }
  57.  
  58. private void BtnVoegNieuwPersoonToe_Click(object sender, EventArgs e)
  59. {
  60. // Store inputs for visibility
  61. string Voornaam = TbVoornaam.Text;
  62. string Achternaam = TbAchternaam.Text;
  63. string Straatnaam = TbStraatnaam.Text;
  64. int Huisnummer = Convert.ToInt32(NudHuisnummer.Value);
  65. string Toevoeging = TbToevoeging.Text;
  66. string Woonplaats = TbWoonplaats.Text;
  67. string Land = TbLand.Text;
  68. int Leeftijd = Convert.ToInt32(NudLeeftijd.Value);
  69. int Geslacht = CbGeslacht.SelectedIndex;
  70.  
  71. // Valideer invoervelden
  72. if(Voornaam == "" || Achternaam == "" || Straatnaam == "" || Huisnummer == 0 || Woonplaats == "" || Land == "" || Leeftijd == 0 || Geslacht == -1) { return; }
  73.  
  74. // Maak instantie van Persoon
  75. Persoon persoon = new Persoon(Voornaam, Achternaam, Straatnaam, Huisnummer, Toevoeging, Woonplaats, Land, Leeftijd, (Persoon.GeslachtType) Geslacht);
  76.  
  77. VoegPersoonToeAanListView(persoon);
  78.  
  79. // Voeg persoon toe aan globale lijst
  80. Global.Gasten.Add(persoon);
  81.  
  82. MaakAlleVeldenLeeg();
  83. }
  84.  
  85. private void BtnKlaar_Click(object sender, EventArgs e)
  86. {
  87. foreach (Persoon persoon in CheckedPersonen)
  88. {
  89. // Global.GeselecteerdeGasten worden toegevoegd in de desbetreffende ListView in het MainForm
  90. Global.GeselecteerdeGasten.Add(persoon);
  91. }
  92.  
  93. // De geselecteerde personen worden alleen toegevoegd als het DialogResult OK is
  94. this.DialogResult = DialogResult.OK;
  95. this.Close();
  96. }
  97.  
  98. private void LvPersonen_SelectedIndexChanged(object sender, EventArgs e)
  99. {
  100. if (LvPersonen.SelectedItems.Count > 0)
  101. {
  102. Persoon persoon = (Persoon)LvPersonen.SelectedItems[0].Tag;
  103. TbInfoVoornaam.Text = persoon.Voornaam;
  104. TbInfoAchternaam.Text = persoon.Achternaam;
  105. TbInfoStraatnaam.Text = persoon.Straatnaam;
  106. NudInfoHuisnummer.Value = persoon.Huisnummer;
  107. TbInfoToevoeging.Text = persoon.Toevoeging;
  108. TbInfoWoonplaats.Text = persoon.Woonplaats;
  109. TbInfoLand.Text = persoon.Land;
  110. NudInfoLeeftijd.Value = persoon.Leeftijd;
  111. CbInfoGeslacht.SelectedIndex = (int) persoon.Geslacht;
  112. }
  113. }
  114.  
  115. private void LvPersonen_ItemChecked(object sender, ItemCheckedEventArgs e)
  116. {
  117. // Als een persoon checked is en via de code wordt toegevoegd wordt deze functie 2x aangeroepen
  118. if(NewCheckedPersoon == true)
  119. {
  120. NewCheckedPersoon = false;
  121. return;
  122. }
  123.  
  124. if(CheckedPersonen.Count == Kamer.MaxPersonen && e.Item.Checked == true && !CheckedPersonen.Contains((Persoon) e.Item.Tag))
  125. {
  126. e.Item.Checked = false;
  127. return;
  128. }
  129.  
  130. Persoon _persoon = (Persoon)e.Item.Tag;
  131. if(e.Item.Checked == true)
  132. {
  133. if (!CheckedPersonen.Contains(_persoon))
  134. {
  135. CheckedPersonen.Add(_persoon);
  136. }
  137. }
  138. else
  139. {
  140. if (CheckedPersonen.Contains(_persoon))
  141. {
  142. CheckedPersonen.Remove(_persoon);
  143. }
  144. }
  145. }
  146.  
  147. private void CbAlleenCheckedPersonen_CheckedChanged(object sender, EventArgs e)
  148. {
  149. if (CbAlleenCheckedPersonen.Checked)
  150. {
  151. LvPersonen.Items.Clear();
  152. foreach (Persoon persoon in CheckedPersonen)
  153. {
  154. // Voeg alleen checked personen toe aan de lege ListView
  155. VoegPersoonToeAanListView(persoon);
  156. }
  157. }
  158. else
  159. {
  160. LvPersonen.Items.Clear();
  161. LaadAlleGasten();
  162. }
  163. }
  164.  
  165. private void BtnZoekPersoon_Click(object sender, EventArgs e)
  166. {
  167. if(TbZoekNaam.Text.Length > 2)
  168. {
  169. LvPersonen.Items.Clear();
  170. foreach (Persoon persoon in Global.Gasten)
  171. {
  172. if (persoon.Voornaam.ToLower().Contains(TbZoekNaam.Text.ToLower().Trim()))
  173. {
  174. VoegPersoonToeAanListView(persoon);
  175. }
  176. }
  177. }
  178. else
  179. {
  180. // Om spam op de button tegen te houden
  181. if(Global.Gasten.Count == LvPersonen.Items.Count) { return; }
  182. LvPersonen.Items.Clear();
  183. LaadAlleGasten();
  184. }
  185. }
  186.  
  187. private void LvPersonen_ColumnWidthChanging(object sender, ColumnWidthChangingEventArgs e)
  188. {
  189. e.NewWidth = this.LvPersonen.Columns[e.ColumnIndex].Width;
  190. e.Cancel = true;
  191. }
  192.  
  193. /// <summary>
  194. /// Laad alle gasten in de ListView vanuit de Gasten lijst
  195. /// </summary>
  196. private void LaadAlleGasten()
  197. {
  198. foreach(Persoon persoon in Global.Gasten)
  199. {
  200. VoegPersoonToeAanListView(persoon);
  201. }
  202. }
  203.  
  204. /// <summary>
  205. /// Voeg een persoon toe aan de ListView
  206. /// </summary>
  207. /// <param name="persoon"></param>
  208. private void VoegPersoonToeAanListView(Persoon persoon)
  209. {
  210. bool checkedState = false;
  211. if (CheckedPersonen.Contains(persoon))
  212. {
  213. checkedState = true;
  214. }
  215.  
  216. // Maak een ListViewItem met een aantal gegevens van de persoon
  217. ListViewItem NewListViewItem = new ListViewItem(new[] { "", persoon.Voornaam, persoon.Achternaam, persoon.Woonplaats }) {
  218. Tag = persoon,
  219. Checked = checkedState
  220. };
  221.  
  222. if(checkedState == true){ NewCheckedPersoon = true; }
  223.  
  224. LvPersonen.Items.Add(NewListViewItem);
  225. }
  226.  
  227. /// <summary>
  228. /// Maak alle invoervelden leeg
  229. /// </summary>
  230. private void MaakAlleVeldenLeeg()
  231. {
  232. TbVoornaam.Text = "";
  233. TbAchternaam.Text = "";
  234. TbStraatnaam.Text = "";
  235. NudHuisnummer.Value = 0;
  236. TbToevoeging.Text = "";
  237. TbWoonplaats.Text = "";
  238. TbLand.Text = "";
  239. NudLeeftijd.Value = 0;
  240. CbGeslacht.SelectedIndex = -1;
  241. }
  242. }
  243. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement