CineBook Projekt hinzugefügt
This commit is contained in:
76
Views/MovieEditDialog.xaml.cs
Normal file
76
Views/MovieEditDialog.xaml.cs
Normal file
@@ -0,0 +1,76 @@
|
||||
using CineBook.Models;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
|
||||
namespace CineBook.Views;
|
||||
|
||||
public partial class MovieEditDialog : Window
|
||||
{
|
||||
public Movie? Result { get; private set; }
|
||||
private readonly Movie? _editing;
|
||||
|
||||
public MovieEditDialog(Movie? movie)
|
||||
{
|
||||
InitializeComponent();
|
||||
_editing = movie;
|
||||
|
||||
if (movie != null)
|
||||
{
|
||||
DialogTitle.Text = "🎥 FILM BEARBEITEN";
|
||||
TitleBox.Text = movie.Title;
|
||||
// Set genre combobox
|
||||
foreach (ComboBoxItem item in GenreBox.Items)
|
||||
if (item.Content?.ToString() == movie.Genre)
|
||||
GenreBox.SelectedItem = item;
|
||||
DurationBox.Text = movie.DurationMinutes.ToString();
|
||||
RatingBox.Text = movie.Rating.ToString("F1");
|
||||
ActiveCheck.IsChecked = movie.IsActive;
|
||||
DescBox.Text = movie.Description;
|
||||
}
|
||||
else
|
||||
{
|
||||
DialogTitle.Text = "🎥 FILM HINZUFÜGEN";
|
||||
RatingBox.Text = "7.0";
|
||||
ActiveCheck.IsChecked = true;
|
||||
}
|
||||
}
|
||||
|
||||
private void SaveClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
// Validierung
|
||||
if (string.IsNullOrWhiteSpace(TitleBox.Text))
|
||||
{
|
||||
ErrorText.Text = "⚠ Titel ist Pflichtfeld!"; return;
|
||||
}
|
||||
if (!int.TryParse(DurationBox.Text, out var dur) || dur <= 0)
|
||||
{
|
||||
ErrorText.Text = "⚠ Ungültige Dauer!"; return;
|
||||
}
|
||||
if (!decimal.TryParse(RatingBox.Text.Replace(',', '.'),
|
||||
System.Globalization.NumberStyles.Any,
|
||||
System.Globalization.CultureInfo.InvariantCulture, out var rating)
|
||||
|| rating < 0 || rating > 10)
|
||||
{
|
||||
ErrorText.Text = "⚠ Bewertung muss zwischen 0-10 liegen!"; return;
|
||||
}
|
||||
|
||||
Result = new Movie
|
||||
{
|
||||
MovieID = _editing?.MovieID ?? 0,
|
||||
Title = TitleBox.Text.Trim(),
|
||||
Genre = (GenreBox.SelectedItem as ComboBoxItem)?.Content?.ToString() ?? "",
|
||||
DurationMinutes = dur,
|
||||
Rating = rating,
|
||||
IsActive = ActiveCheck.IsChecked == true,
|
||||
Description = DescBox.Text.Trim()
|
||||
};
|
||||
DialogResult = true;
|
||||
Close();
|
||||
}
|
||||
|
||||
private void CancelClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
DialogResult = false;
|
||||
Close();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user