/ControlesForm/GestionForm.cs
https://github.com/Prozid/FORMAN_prueba · C# · 193 lines · 161 code · 32 blank · 0 comment · 9 complexity · a323c2ae29e8ca585d1268492012db3c MD5 · raw file
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- using System.Xml.Linq;
- using System.IO;
- namespace ControlesForm
- {
- public partial class GestionForm : Form
- {
- private DataTable genero;
- public GestionForm()
- {
- InitializeComponent();
- genero = new DataTable("Género");
- genero.Columns.Add("Texto");
- genero.Columns.Add("Valor");
- DataColumn[] keys = new DataColumn[1];
- keys[0] = genero.Columns[1];
- genero.PrimaryKey = keys;
- }
- private bool validateFields()
- {
- return (txtName.Text != "") &&
- (txtLastName.Text != "") &&
- (txtPass.Text != "") &&
- (pkrBornDate.Value != null);
- }
- private Person.TipoPago getPayTypeFromRadioButton()
- {
- return (Person.TipoPago)System.Enum.Parse(
- typeof(Person.TipoPago),
- gbxPay
- .Controls
- .OfType<RadioButton>()
- .FirstOrDefault(r => r.Checked)
- .Text
- );
- }
- private void btnMostrar_Click(object sender, EventArgs e)
- {
- if (validateFields())
- {
- Person p = getPersonFromForm();
- detailsPerson details = new detailsPerson(p);
- DialogResult resp = details.ShowDialog();
-
- MessageBox.Show(
- "Edad",
- resp.ToString(),
- MessageBoxButtons.OK,
- MessageBoxIcon.Warning);
- }
- else
- {
- MessageBox.Show(
- "Faltan campos",
- "Rellene todos los campos",
- MessageBoxButtons.OK,
- MessageBoxIcon.Warning);
- }
- }
- private void btnClose_Click(object sender, EventArgs e)
- {
- this.Close();
- }
- private void MainForm_Load(object sender, EventArgs e)
- {
- try
- {
- Person p;
- String path = Directory.GetCurrentDirectory().ToString() + "\\xml.xml";
- System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(typeof(Person));
- FileStream reader = new FileStream(path, FileMode.Open);
- p = (Person)x.Deserialize(reader);
- reader.Close();
- txtName.Text = p.name;
- txtLastName.Text = p.lastName;
- txtDescriptions.Text = p.descriptions;
- txtPass.Text = p.pass;
- cbxGenre.SelectedIndex = genero.Rows.IndexOf(genero.Rows.Find(p.sexo.ToString()));
- gbxPay.Controls.OfType<RadioButton>().Single<RadioButton>(r => r.Text.Equals(p.pago.ToString())).Checked = true;
- }
- catch (FileNotFoundException ex)
- {
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.ToString(), "Error:");
- }
-
- DataRow dr = genero.NewRow();
- dr[0] = "Mujer";
- dr[1] = 0;
- genero.Rows.Add(dr);
- dr = genero.NewRow();
- dr[0] = "Hombre";
- dr[1] = 1;
- genero.Rows.Add(dr);
- cbxGenre.DataSource = genero;
- cbxGenre.DisplayMember = genero.Columns[0].ToString();
- cbxGenre.ValueMember = genero.Columns[1].ToString();
-
- }
- private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
- {
- if (validateFields())
- {
- Person p = getPersonFromForm();
- System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(typeof(Person));
- FileStream s = new FileStream(Directory.GetCurrentDirectory() + "\\xml.xml", FileMode.Create);
- x.Serialize(s, p);
- s.Close();
- }
- }
- private Person getPersonFromForm()
- {
- Person p;
- if (validateFields())
- {
- p = new Person
- {
- name = txtName.Text,
- lastName = txtLastName.Text,
- pass = txtPass.Text,
- descriptions = txtDescriptions.Text,
- bornDate = pkrBornDate.Value,
- pago = getPayTypeFromRadioButton()
- };
- }
- else
- {
- p = new Person();
- }
- return p;
- }
- private void btnLoad_Click(object sender, EventArgs e)
- {
- ListViewItem c;
- for(int i = 1; i < 5; i++)
- {
- c = new ListViewItem();
- c.Text = i.ToString();
- c.SubItems.Add("García");
- c.SubItems.Add("Pepito");
- String s = "";
- for(int j = 0; j<9; j++)
- {
- s += (new Random().NextDouble()*10).ToString();
- }
-
- c.SubItems.Add(s);
- listView1.Items.Add(c);
- }
- }
- private void btnResetListView_Click(object sender, EventArgs e)
- {
- listView1.Items.Clear();
- }
- }
- }