77 lines
2.7 KiB
C#
77 lines
2.7 KiB
C#
using System;
|
|
|
|
namespace CineBook.Models;
|
|
|
|
public class User
|
|
{
|
|
public int UserID { get; set; }
|
|
public string Username { get; set; } = "";
|
|
public string PasswordHash { get; set; } = "";
|
|
public string Role { get; set; } = "User";
|
|
public string Email { get; set; } = "";
|
|
public DateTime CreatedAt { get; set; }
|
|
public bool IsAdmin => Role == "Admin";
|
|
}
|
|
|
|
public class Movie
|
|
{
|
|
public int MovieID { get; set; }
|
|
public string Title { get; set; } = "";
|
|
public string Genre { get; set; } = "";
|
|
public int DurationMinutes { get; set; }
|
|
public string Description { get; set; } = "";
|
|
public decimal Rating { get; set; }
|
|
public string PosterUrl { get; set; } = "";
|
|
public bool IsActive { get; set; } = true;
|
|
public DateTime CreatedAt { get; set; }
|
|
public string DurationDisplay => $"{DurationMinutes} Min.";
|
|
public string RatingDisplay => $"★ {Rating:F1}";
|
|
}
|
|
|
|
public class Screening
|
|
{
|
|
public int ScreeningID { get; set; }
|
|
public int MovieID { get; set; }
|
|
public string MovieTitle { get; set; } = "";
|
|
public DateTime ScreeningDate { get; set; }
|
|
public TimeSpan StartTime { get; set; }
|
|
public string Hall { get; set; } = "";
|
|
public int TotalSeats { get; set; }
|
|
public int AvailableSeats { get; set; }
|
|
public decimal PricePerSeat { get; set; }
|
|
public string DateTimeDisplay => $"{ScreeningDate:dd.MM.yyyy} {StartTime:hh\\:mm}";
|
|
public string SeatsDisplay => $"{AvailableSeats}/{TotalSeats} frei";
|
|
public string PriceDisplay => $"{PricePerSeat:F2} €";
|
|
}
|
|
|
|
public class Seat
|
|
{
|
|
public int SeatID { get; set; }
|
|
public int ScreeningID { get; set; }
|
|
public string Row { get; set; } = "";
|
|
public int SeatNumber { get; set; }
|
|
public bool IsBooked { get; set; }
|
|
public string Category { get; set; } = "Standard";
|
|
public string Display => $"{Row}{SeatNumber}";
|
|
}
|
|
|
|
public class Booking
|
|
{
|
|
public int BookingID { get; set; }
|
|
public int UserID { get; set; }
|
|
public string Username { get; set; } = "";
|
|
public int ScreeningID { get; set; }
|
|
public string MovieTitle { get; set; } = "";
|
|
public DateTime ScreeningDate { get; set; }
|
|
public TimeSpan StartTime { get; set; }
|
|
public int SeatID { get; set; }
|
|
public string SeatDisplay { get; set; } = "";
|
|
public DateTime BookingDate { get; set; }
|
|
public decimal TotalPrice { get; set; }
|
|
public string Status { get; set; } = "Confirmed";
|
|
public string BookingCode { get; set; } = "";
|
|
public string PriceDisplay => $"{TotalPrice:F2} €";
|
|
public string DateDisplay => BookingDate.ToString("dd.MM.yyyy HH:mm");
|
|
public string ScreeningDisplay => $"{ScreeningDate:dd.MM.yyyy} {StartTime:hh\\:mm}";
|
|
}
|