Advertisement
Guest User

C#

a guest
Sep 19th, 2016
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.78 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Diagnostics;
  4. using System.IO;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Windows.Forms;
  8. using System.Xml;
  9.  
  10. namespace Inlämning_1PersonInfo
  11. {
  12. public partial class Form1 : Form
  13. {
  14. public Form1()
  15. {
  16. InitializeComponent();
  17. }
  18.  
  19. private List<Person> people = new List<Person>();
  20. private List<Person> searchPeople = new List<Person>();
  21.  
  22. private void Form1_Load(object sender, EventArgs e)
  23. {
  24. string path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
  25. if (!Directory.Exists(path + "\\Address Book - Patte"))
  26. {
  27. Directory.CreateDirectory(path + "\\Address Book - Patte");
  28. }
  29. if (!File.Exists(path + "\\Address Book - Patte\\settings.xml"))
  30. {
  31. XmlTextWriter xW = new XmlTextWriter(path + "\\Address Book - Patte\\settings.xml", Encoding.UTF8);
  32. xW.WriteStartElement("People");
  33. xW.WriteEndElement();
  34. xW.Close();
  35. }
  36. XmlDocument xDoc = new XmlDocument();
  37. xDoc.Load(path + "\\Address Book - Patte\\settings.xml");
  38. foreach (XmlNode xNode in xDoc.SelectNodes("People/Person"))
  39. {
  40. Person P = new Person();
  41. P.name = xNode.SelectSingleNode("Name").InnerText;
  42. P.streetAddress = xNode.SelectSingleNode("Streetaddress").InnerText;
  43. P.zipCode = xNode.SelectSingleNode("Zipcode").InnerText;
  44. P.city = xNode.SelectSingleNode("City").InnerText;
  45. P.phoneNumber = xNode.SelectSingleNode("Phonenumber").InnerText;
  46. P.mail = xNode.SelectSingleNode("Mail").InnerText;
  47. people.Add(P);
  48. listPeople.Items.Add(P.name + " " + P.streetAddress + " " + P.zipCode + " " + P.city + " " + P.phoneNumber + " " + P.mail);
  49. }
  50. }
  51.  
  52. private class Person
  53. {
  54. public string name
  55. {
  56. get;
  57. set;
  58. }
  59.  
  60. public string streetAddress
  61. {
  62. get;
  63. set;
  64. }
  65.  
  66. public string zipCode
  67. {
  68. get;
  69. set;
  70. }
  71.  
  72. public string city
  73. {
  74. get;
  75. set;
  76. }
  77.  
  78. public string phoneNumber
  79. {
  80. get;
  81. set;
  82. }
  83.  
  84. public string mail
  85. {
  86. get;
  87. set;
  88. }
  89. }
  90.  
  91. private void cmdAddContact_Click(object sender, EventArgs e)
  92. {
  93. Person p = new Person();
  94. p.name = txtName.Text;
  95. p.streetAddress = txtStreetAddress.Text;
  96. p.zipCode = txtZipCode.Text;
  97. p.city = txtCity.Text;
  98. p.phoneNumber = txtPhoneNumber.Text;
  99. p.mail = txtMail.Text;
  100.  
  101. txtName.Text = "";
  102. txtStreetAddress.Text = "";
  103. txtZipCode.Text = "";
  104. txtCity.Text = "";
  105. txtPhoneNumber.Text = "";
  106. txtMail.Text = "";
  107. people.Add(p);
  108. listPeople.Items.Add(p.name + " " + p.streetAddress + " " + p.zipCode + " " + p.city + " " + p.phoneNumber + " " + p.mail);
  109. }
  110.  
  111. private void listPeople_SelectedIndexChanged(object sender, EventArgs e)
  112. {
  113. if (listPeople.SelectedItems.Count > 0)
  114. {
  115. try
  116. {
  117. txtName.Text = people[listPeople.SelectedItems[0].Index].name;
  118. txtStreetAddress.Text = people[listPeople.SelectedItems[0].Index].streetAddress;
  119. txtZipCode.Text = people[listPeople.SelectedItems[0].Index].zipCode;
  120. txtCity.Text = people[listPeople.SelectedItems[0].Index].city;
  121. txtPhoneNumber.Text = people[listPeople.SelectedItems[0].Index].phoneNumber;
  122. txtMail.Text = people[listPeople.SelectedItems[0].Index].mail;
  123. }
  124. catch { }
  125. }
  126. }
  127.  
  128. private void cmdRemove_Click(object sender, EventArgs e)
  129. {
  130. remove();
  131.  
  132. txtName.Text = "";
  133. txtStreetAddress.Text = "";
  134. txtZipCode.Text = "";
  135. txtCity.Text = "";
  136. txtPhoneNumber.Text = "";
  137. txtMail.Text = "";
  138. }
  139.  
  140. private void remove()
  141. {
  142. try
  143. {
  144. people.RemoveAt(listPeople.SelectedItems[0].Index);
  145. listPeople.Items.Remove(listPeople.SelectedItems[0]);
  146. }
  147. catch { }
  148. }
  149.  
  150. private void removeToolStripMenuItem_Click(object sender, EventArgs e)
  151. {
  152. remove();
  153. }
  154.  
  155. private void cmdSaveChanges_Click(object sender, EventArgs e)
  156. {
  157. try
  158. {
  159. people[listPeople.SelectedItems[0].Index].name = txtName.Text;
  160. people[listPeople.SelectedItems[0].Index].streetAddress = txtStreetAddress.Text;
  161. people[listPeople.SelectedItems[0].Index].zipCode = txtZipCode.Text;
  162. people[listPeople.SelectedItems[0].Index].city = txtCity.Text;
  163. people[listPeople.SelectedItems[0].Index].phoneNumber = txtPhoneNumber.Text;
  164. people[listPeople.SelectedItems[0].Index].mail = txtMail.Text;
  165. listPeople.SelectedItems[0].Text = txtName.Text;
  166. }
  167. catch { }
  168. }
  169.  
  170. private void Form1_FormClosing(object sender, FormClosingEventArgs e)
  171. {
  172. XmlDataDocument xDoc = new XmlDataDocument();
  173. string path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
  174. xDoc.Load(path + "\\Address Book - Patte\\settings.xml");
  175. XmlNode xNode = xDoc.SelectSingleNode("People");
  176. xNode.RemoveAll();
  177. foreach (Person p in people)
  178. {
  179. XmlNode xTop = xDoc.CreateElement("Person");
  180. XmlNode xName = xDoc.CreateElement("Name");
  181. XmlNode xStreetAddress = xDoc.CreateElement("Streetaddress");
  182. XmlNode xZipCode = xDoc.CreateElement("Zipcode");
  183. XmlNode xCity = xDoc.CreateElement("City");
  184. XmlNode xPhoneNumber = xDoc.CreateElement("Phonenumber");
  185. XmlNode xMail = xDoc.CreateElement("Mail");
  186. xName.InnerText = p.name;
  187. xStreetAddress.InnerText = p.streetAddress;
  188. xZipCode.InnerText = p.zipCode;
  189. xCity.InnerText = p.city;
  190. xPhoneNumber.InnerText = p.phoneNumber;
  191. xMail.InnerText = p.mail;
  192. xTop.AppendChild(xName);
  193. xTop.AppendChild(xStreetAddress);
  194. xTop.AppendChild(xZipCode);
  195. xTop.AppendChild(xCity);
  196. xTop.AppendChild(xPhoneNumber);
  197. xTop.AppendChild(xMail);
  198. xDoc.DocumentElement.AppendChild(xTop);
  199. }
  200. xDoc.Save(path + "\\Address Book - Patte\\settings.xml");
  201. }
  202.  
  203. public void cmdSearch_Click(object sender, EventArgs e)
  204. {
  205. if (txtSearch.Text != "")
  206. {
  207. for (int i = listPeople.Items.Count - 1; i >= 0; i--)
  208. {
  209. var item = listPeople.Items[i];
  210. if (item.Text.ToLower().Contains(txtSearch.Text.ToLower()))
  211. {
  212. }
  213. else
  214. {
  215. listPeople.Items.Remove(item);
  216. }
  217. }
  218. if (listPeople.SelectedItems.Count > 0)
  219. {
  220. listPeople.Focus();
  221. people.RemoveAt(listPeople.SelectedItems[0].Index);
  222. listPeople.Items.Remove(listPeople.SelectedItems[0]);
  223. }
  224. }
  225. else { }
  226. // LoadContacts();
  227. //RefreshAll();
  228. }
  229.  
  230. private void cmdSearchperson_Click(object sender, EventArgs e)
  231. {
  232. }
  233.  
  234. private void cmdClear_Click(object sender, EventArgs e)
  235. {
  236. Application.Restart();
  237. }
  238. }
  239. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement