valasztas_esti/ValasztasGUI/Form1.cs
2023-05-02 19:17:26 +02:00

127 lines
4.2 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Valasztas2;
namespace ValasztasGUI
{
public partial class Form1 : Form
{
Dictionary<string, string> partok;
List<Kepviselo> jeloltek;
public Form1()
{
InitializeComponent();
partok = new Dictionary<string, string>();
partok.Add("ZEP", "Zöldségevők pártja");
partok.Add("HEP", "Húsevők pártja");
partok.Add("GYEP", "Gyümölcsevők pártja");
partok.Add("TISZ", "Tejivók szövetsége");
partok.Add("független", "független");
}
private void megnyitásToolStripMenuItem_Click(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog()==DialogResult.OK)
{
jeloltek = Kepviselo.LoadFromTxt(openFileDialog1.FileName);
listBox1.Items.AddRange(jeloltek.ToArray());
// vagy listBox1.DataSource = jeloltek;
listBox1.DisplayMember = "TeljesNev";
}
}
private void kilépésToolStripMenuItem_Click(object sender, EventArgs e)
{
//this.Close();
Application.Exit();
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if(listBox1.SelectedIndex>=0)
{
listBox2.Items.Clear();
Kepviselo kk = (listBox1.SelectedItem as Kepviselo);
nevmezo.Text = kk.TeljesNev;
keruletmezo.Text = kk.Kerulet.ToString();
partmezo.Text = partok[kk.Part];
szavazatmezo.Text = kk.Szavazat.ToString();
}
}
private void button1_Click(object sender, EventArgs e)
{
if (listBox1.SelectedIndex<0)
{
MessageBox.Show("Nincs kiválasztott képviselő!", "Hiba!",MessageBoxButtons.OK,MessageBoxIcon.Error);
} else
{
Kepviselo kk = (listBox1.SelectedItem as Kepviselo);
//listBox2.DisplayMember = "Teljesnev";
foreach (var item in jeloltek)
{
if(item.Kerulet == kk.Kerulet && item!=kk)
{
listBox2.Items.Add($"{item.TeljesNev} ({item.Szavazat} szavazat)");
}
}
}
}
private void statisztikaToolStripMenuItem_Click(object sender, EventArgs e)
{
if(jeloltek==null || jeloltek.Count==0)
{
MessageBox.Show("Nincsenek képviselői adatok!", "Hiba!", MessageBoxButtons.OK, MessageBoxIcon.Error);
} else
{
//a másik form megnyitása
StatisztikaForm f2 = new StatisztikaForm();
f2.jeloltek = jeloltek;
f2.partok = partok;
f2.ShowDialog();
}
}
private void nyertesekToolStripMenuItem_Click(object sender, EventArgs e)
{
if(jeloltek!=null && jeloltek.Count>0) {
StreamWriter sw = new StreamWriter("nyertesek.txt");
for (int ker = 1; ker < 9; ker++)
{
Kepviselo nyero = null;
foreach (var item in jeloltek)
{
if(item.Kerulet == ker && (nyero==null || item.Szavazat>nyero.Szavazat))
{
nyero = item;
}
}
sw.WriteLine($"{nyero.Kerulet} {nyero.TeljesNev} {nyero.Part}");
}
sw.Close();
MessageBox.Show("A nyertesek létrehozva!");
}
}
private void névjegyToolStripMenuItem_Click(object sender, EventArgs e)
{
MessageBox.Show("Helyhatósági v. elemző program", "Névjegy", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
}