Untitled
unknown
plain_text
2 years ago
7.3 kB
7
Indexable
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
namespace Ex2Opg1
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void VeldenLeegmaken()
{
txtNaam.Clear();
txtPodium.Clear();
dpDatum.SelectedDate = null;
txtBeginuur.Clear();
txtEinduur.Clear();
}
private void MnuOpenen_Click(object sender, RoutedEventArgs e)
{
lstFestivals.Items.Clear();
lstArtiesten.Items.Clear();
VeldenLeegmaken();
var dialog = new System.Windows.Forms.FolderBrowserDialog();
if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
try
{
string[] files = Directory.GetFiles(dialog.SelectedPath, "*.txt");
if (files.Length == 0)
{
MessageBox.Show("Geen bestanden gevonden");
return;
}
foreach (string file in files)
{
string naam = System.IO.Path.GetFileNameWithoutExtension(file);
FestivalBestand festival = new FestivalBestand(naam, file);
lstFestivals.Items.Add(festival);
}
}
catch (Exception ex)
{
MessageBox.Show($"Fout bij het inlezen: {ex.Message}");
}
}
}
private void LstFestivals_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (lstFestivals.SelectedItem == null)
return;
lstArtiesten.Items.Clear();
VeldenLeegmaken();
FestivalBestand geselecteerdFestival = (FestivalBestand)lstFestivals.SelectedItem;
try
{
string[] lines = File.ReadAllLines(geselecteerdFestival.VolledigPad);
for (int i = 0; i < lines.Length; i += 5)
{
Artiest artiest = new Artiest
{
Naam = lines[i],
Podium = lines[i + 1],
Datum = DateTime.Parse(lines[i + 2]),
Beginuur = lines[i + 3],
Einduur = lines[i + 4]
};
lstArtiesten.Items.Add(artiest);
}
}
catch (Exception ex)
{
MessageBox.Show($"Fout bij het inlezen van het bestand: {ex.Message}");
}
}
private void BtnArtiestToevoegen_Click(object sender, RoutedEventArgs e)
{
if (lstFestivals.SelectedItem == null)
{
MessageBox.Show("Geen festival geselecteerd.");
return;
}
if (string.IsNullOrEmpty(txtNaam.Text) || string.IsNullOrEmpty(txtPodium.Text) ||
!dpDatum.SelectedDate.HasValue || string.IsNullOrEmpty(txtBeginuur.Text) || string.IsNullOrEmpty(txtEinduur.Text))
{
MessageBox.Show("Vul alle velden in.");
return;
}
Artiest artiest = new Artiest
{
Naam = txtNaam.Text,
Podium = txtPodium.Text,
Datum = dpDatum.SelectedDate.Value,
Beginuur = txtBeginuur.Text,
Einduur = txtEinduur.Text
};
lstArtiesten.Items.Add(artiest);
VeldenLeegmaken();
}
private void LstArtiesten_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (lstArtiesten.SelectedItem == null)
return;
Artiest geselecteerdeArtiest = (Artiest)lstArtiesten.SelectedItem;
txtNaam.Text = geselecteerdeArtiest.Naam;
txtPodium.Text = geselecteerdeArtiest.Podium;
dpDatum.SelectedDate = geselecteerdeArtiest.Datum;
txtBeginuur.Text = geselecteerdeArtiest.Beginuur;
txtEinduur.Text = geselecteerdeArtiest.Einduur;
}
private void BtnArtiestWijzigen_Click(object sender, RoutedEventArgs e)
{
if (lstFestivals.SelectedItem == null)
{
MessageBox.Show("Geen festival geselecteerd.");
return;
}
if (lstArtiesten.SelectedItem == null)
{
MessageBox.Show("Geen artiest geselecteerd.");
return;
}
if (string.IsNullOrEmpty(txtNaam.Text) || string.IsNullOrEmpty(txtPodium.Text) ||
!dpDatum.SelectedDate.HasValue || string.IsNullOrEmpty(txtBeginuur.Text) || string.IsNullOrEmpty(txtEinduur.Text))
{
MessageBox.Show("Vul alle velden in.");
return;
}
Artiest geselecteerdeArtiest = (Artiest)lstArtiesten.SelectedItem;
geselecteerdeArtiest.Naam = txtNaam.Text;
geselecteerdeArtiest.Podium = txtPodium.Text;
geselecteerdeArtiest.Datum = dpDatum.SelectedDate.Value;
geselecteerdeArtiest.Beginuur = txtBeginuur.Text;
geselecteerdeArtiest.Einduur = txtEinduur.Text;
lstArtiesten.Items.Refresh();
}
private void BtnArtiestVerwijderen_Click(object sender, RoutedEventArgs e)
{
if (lstFestivals.SelectedItem == null)
{
MessageBox.Show("Geen festival geselecteerd.");
return;
}
if (lstArtiesten.SelectedItem == null)
{
MessageBox.Show("Geen artiest geselecteerd.");
return;
}
lstArtiesten.Items.Remove(lstArtiesten.SelectedItem);
VeldenLeegmaken();
}
private void BtnGeselecteerdFestivalBewaren_Click(object sender, RoutedEventArgs e)
{
if (lstFestivals.SelectedItem == null)
{
MessageBox.Show("Geen festival geselecteerd.");
return;
}
FestivalBestand geselecteerdFestival = (FestivalBestand)lstFestivals.SelectedItem;
try
{
using (StreamWriter writer = new StreamWriter(geselecteerdFestival.VolledigPad))
{
foreach (Artiest artiest in lstArtiesten.Items)
{
writer.WriteLine(artiest.Naam);
writer.WriteLine(artiest.Podium);
writer.WriteLine(artiest.Datum.ToString("dd/MM/yyyy"));
writer.WriteLine(artiest.Beginuur);
writer.WriteLine(artiest.Einduur);
}
}
MessageBox.Show("Artiesten succesvol opgeslagen.");
VeldenLeegmaken();
}
catch (Exception ex)
{
MessageBox.Show($"Fout bij het wegschrijven: {ex.Message}");
}
}
}
}Editor is loading...
Leave a Comment