37 lines
1.1 KiB
C#
37 lines
1.1 KiB
C#
using CineBook.Data;
|
|
using CineBook.Models;
|
|
using System.Linq;
|
|
using System.Windows.Controls;
|
|
|
|
namespace CineBook.Views;
|
|
|
|
public partial class MyBookingsView : UserControl
|
|
{
|
|
private readonly Repository _repo;
|
|
private readonly User _user;
|
|
|
|
public MyBookingsView(Repository repo, User user)
|
|
{
|
|
InitializeComponent();
|
|
_repo = repo;
|
|
_user = user;
|
|
UserNameText.Text = $"Angemeldet als: {user.Username} ({user.Role}) | {user.Email}";
|
|
Load();
|
|
}
|
|
|
|
private void Load()
|
|
{
|
|
try
|
|
{
|
|
var bookings = _repo.GetBookingsByUser(_user.UserID);
|
|
MyGrid.ItemsSource = bookings;
|
|
|
|
TotalBookingsText.Text = bookings.Count.ToString();
|
|
TotalSpentText.Text = bookings.Where(b => b.Status == "Confirmed").Sum(b => b.TotalPrice).ToString("F2") + " €";
|
|
ActiveBookingsText.Text = bookings.Count(b => b.Status == "Confirmed").ToString();
|
|
StatusText.Text = $"● {bookings.Count} Buchungen gefunden.";
|
|
}
|
|
catch (System.Exception ex) { StatusText.Text = "⚠ Fehler: " + ex.Message; }
|
|
}
|
|
}
|