namespace MovieBookingApp
public double TicketPrice;
public Movie(string Title){
public Movie(string Title, string Cast, double TicketPrice){
this.TicketPrice=TicketPrice;
namespace MovieBookingApp
public DateTime BookingDate;
public double TotalAmount;
public Ticket(DateTime BookingDate, int TicketCount, Movie Movie){
this.BookingDate=BookingDate;
this.TicketCount=TicketCount;
namespace MovieBookingApp
static void Main(string[] args)
Program p = new Program();
Console.WriteLine("Enter title:");
string title = Console.ReadLine();
Console.WriteLine("Enter cast");
string cast = Console.ReadLine();
Console.WriteLine("Enter price:");
double price=Convert.ToDouble(Console.ReadLine());
p.CreateMovie(title, cast, price);
Console.WriteLine("Enter movie:");
string mov = Console.ReadLine();
Movie sMovie = new Movie(mov);
Console.WriteLine("Enter date");
DateTime sDate = Convert.ToDateTime(Console.ReadLine());
Console.WriteLine("Enter no. of tickets:");
int tCount=Convert.ToInt32(Console.ReadLine());
Console.WriteLine(p.BuyTickets(sDate, tCount, sMovie));
public Movie CreateMovie(string title, string cast, double price){
if(title=="" || title==null)
throw new InvalidException("Movie title cannot be empty");
else if(cast=="" || cast==null)
throw new InvalidException("Cast cannot be empty");
throw new InvalidException("Incorrect value");
m= new Movie(title, cast, price);
public Ticket BuyTickets(DateTime bookingDate, int ticketCount, Movie selectedMovie){
string movieName = selectedMovie.Title;
if(movieName=="" || movieName==null)
throw new InvalidException("Movie title cannot be empty");
else if(bookingDate<DateTime.Today)
throw new InvalidException("Incorrect date provided. Please recheck");
throw new InvalidException("Incorrect value provided for the number of tickets. Please recheck");
t= new Ticket(bookingDate, ticketCount, selectedMovie);
Console.WriteLine("User can buy ticket");
public class InvalidException : Exception{
public InvalidException(){}
public InvalidException(string message): base(string.Format(message)){ }