/ControlesForm/GestionForm.cs

https://github.com/Prozid/FORMAN_prueba · C# · 193 lines · 161 code · 32 blank · 0 comment · 9 complexity · a323c2ae29e8ca585d1268492012db3c MD5 · raw file

  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.Windows.Forms;
  9. using System.Xml.Linq;
  10. using System.IO;
  11. namespace ControlesForm
  12. {
  13. public partial class GestionForm : Form
  14. {
  15. private DataTable genero;
  16. public GestionForm()
  17. {
  18. InitializeComponent();
  19. genero = new DataTable("Género");
  20. genero.Columns.Add("Texto");
  21. genero.Columns.Add("Valor");
  22. DataColumn[] keys = new DataColumn[1];
  23. keys[0] = genero.Columns[1];
  24. genero.PrimaryKey = keys;
  25. }
  26. private bool validateFields()
  27. {
  28. return (txtName.Text != "") &&
  29. (txtLastName.Text != "") &&
  30. (txtPass.Text != "") &&
  31. (pkrBornDate.Value != null);
  32. }
  33. private Person.TipoPago getPayTypeFromRadioButton()
  34. {
  35. return (Person.TipoPago)System.Enum.Parse(
  36. typeof(Person.TipoPago),
  37. gbxPay
  38. .Controls
  39. .OfType<RadioButton>()
  40. .FirstOrDefault(r => r.Checked)
  41. .Text
  42. );
  43. }
  44. private void btnMostrar_Click(object sender, EventArgs e)
  45. {
  46. if (validateFields())
  47. {
  48. Person p = getPersonFromForm();
  49. detailsPerson details = new detailsPerson(p);
  50. DialogResult resp = details.ShowDialog();
  51. MessageBox.Show(
  52. "Edad",
  53. resp.ToString(),
  54. MessageBoxButtons.OK,
  55. MessageBoxIcon.Warning);
  56. }
  57. else
  58. {
  59. MessageBox.Show(
  60. "Faltan campos",
  61. "Rellene todos los campos",
  62. MessageBoxButtons.OK,
  63. MessageBoxIcon.Warning);
  64. }
  65. }
  66. private void btnClose_Click(object sender, EventArgs e)
  67. {
  68. this.Close();
  69. }
  70. private void MainForm_Load(object sender, EventArgs e)
  71. {
  72. try
  73. {
  74. Person p;
  75. String path = Directory.GetCurrentDirectory().ToString() + "\\xml.xml";
  76. System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(typeof(Person));
  77. FileStream reader = new FileStream(path, FileMode.Open);
  78. p = (Person)x.Deserialize(reader);
  79. reader.Close();
  80. txtName.Text = p.name;
  81. txtLastName.Text = p.lastName;
  82. txtDescriptions.Text = p.descriptions;
  83. txtPass.Text = p.pass;
  84. cbxGenre.SelectedIndex = genero.Rows.IndexOf(genero.Rows.Find(p.sexo.ToString()));
  85. gbxPay.Controls.OfType<RadioButton>().Single<RadioButton>(r => r.Text.Equals(p.pago.ToString())).Checked = true;
  86. }
  87. catch (FileNotFoundException ex)
  88. {
  89. }
  90. catch (Exception ex)
  91. {
  92. MessageBox.Show(ex.ToString(), "Error:");
  93. }
  94. DataRow dr = genero.NewRow();
  95. dr[0] = "Mujer";
  96. dr[1] = 0;
  97. genero.Rows.Add(dr);
  98. dr = genero.NewRow();
  99. dr[0] = "Hombre";
  100. dr[1] = 1;
  101. genero.Rows.Add(dr);
  102. cbxGenre.DataSource = genero;
  103. cbxGenre.DisplayMember = genero.Columns[0].ToString();
  104. cbxGenre.ValueMember = genero.Columns[1].ToString();
  105. }
  106. private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
  107. {
  108. if (validateFields())
  109. {
  110. Person p = getPersonFromForm();
  111. System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(typeof(Person));
  112. FileStream s = new FileStream(Directory.GetCurrentDirectory() + "\\xml.xml", FileMode.Create);
  113. x.Serialize(s, p);
  114. s.Close();
  115. }
  116. }
  117. private Person getPersonFromForm()
  118. {
  119. Person p;
  120. if (validateFields())
  121. {
  122. p = new Person
  123. {
  124. name = txtName.Text,
  125. lastName = txtLastName.Text,
  126. pass = txtPass.Text,
  127. descriptions = txtDescriptions.Text,
  128. bornDate = pkrBornDate.Value,
  129. pago = getPayTypeFromRadioButton()
  130. };
  131. }
  132. else
  133. {
  134. p = new Person();
  135. }
  136. return p;
  137. }
  138. private void btnLoad_Click(object sender, EventArgs e)
  139. {
  140. ListViewItem c;
  141. for(int i = 1; i < 5; i++)
  142. {
  143. c = new ListViewItem();
  144. c.Text = i.ToString();
  145. c.SubItems.Add("García");
  146. c.SubItems.Add("Pepito");
  147. String s = "";
  148. for(int j = 0; j<9; j++)
  149. {
  150. s += (new Random().NextDouble()*10).ToString();
  151. }
  152. c.SubItems.Add(s);
  153. listView1.Items.Add(c);
  154. }
  155. }
  156. private void btnResetListView_Click(object sender, EventArgs e)
  157. {
  158. listView1.Items.Clear();
  159. }
  160. }
  161. }