public static void InstantiateSeats(Showtime st) { AppDbContext db = new AppDbContext(); List <String> SeatNames = new List <String>(); int i = 1; while (i < 9) { SeatNames.Add("A" + Convert.ToString(i)); SeatNames.Add("B" + Convert.ToString(i)); SeatNames.Add("C" + Convert.ToString(i)); SeatNames.Add("D" + Convert.ToString(i)); i += 1; } foreach (String sn in SeatNames) { Ticket ticket = new Ticket(); ticket.Seat = sn; ticket.Taken = false; ticket.Showtime = st; //st.Tickets.Add(tick); db.Tickets.Add(ticket); db.SaveChanges(); } }
private static Boolean ShowtimePassesFilter(Showtime showtime, String titleFilter, String theaterFilter, SamiDateTime timeFilter) { // See if the showtime is in a certain time if (!timeFilter.TimeIsInRange(showtime.Time)) { // The time is not in the range return(false); } if (!String.IsNullOrEmpty(titleFilter)) { if (!showtime.MovieTitle.Equals(titleFilter)) { return(false); } } if (!String.IsNullOrEmpty(theaterFilter)) { if (!showtime.Theater.Equals(theaterFilter)) { return(false); } } // We've hit this point, so we passed the filter return(true); }
public ShowtimeEditorWindowViewModel(ShowtimeEditorWindow view, Showtime showtime, MovieRepository movieRepository, ShowtimeRepository showtimeRepository) { if (showtime == null) { CreateMode = true; showtime = new Showtime(); } this.view = view; this.movieRepository = movieRepository; this.showtimeRepository = showtimeRepository; Showtime = showtime; Movies = movieRepository.GetMovies().ToList(); Auditoriums = showtimeRepository.GetAuditoriums().ToList(); if (CreateMode) { return; } var movie = Movies.FirstOrDefault(_ => _.Id == showtime.Movie.Id); view.SelectedMovieIndex = Movies.IndexOf(movie); var auditorium = Auditoriums.FirstOrDefault(_ => _.Id == showtime.Auditorium.Id); view.SelectedAuditoriumIndex = Auditoriums.IndexOf(auditorium); view.Time = showtime.Time; }
// GET: Showtimes/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Showtime showtime = db.Showtimes.Include(i => i.Film).First(f => f.ID == id); if (showtime == null) { return(HttpNotFound()); } List <string> users = db.Seats .Include(i => i.ApplicationUser) .Where(w => w.ShowtimeID == id) .OrderBy(o => o.ApplicationUser.UserName) .Select(s => s.ApplicationUser.UserName) .ToList(); var vbList = new List <string>(); foreach (var user in users) { if (user != null) { vbList.Add(user); } } ViewBag.UserList = vbList; return(View(showtime)); }
public ActionResult DeleteConfirmed(int id) { Showtime showtime = db.Showtimes.Find(id); Schedule schedule = db.Schedules.Find(showtime.Schedule.ScheduleID); List <Ticket> tickets = new List <Ticket>(); foreach (Ticket tick in showtime.Tickets) { tickets.Add(tick); } foreach (Ticket ticket in tickets) { Ticket ticktotake = db.Tickets.Find(ticket.TicketID); if (ticket.Taken == true) { //TODO: Send email message notifying showtime has been cancelled AppUser afflicteduser = db.Users.Find(ticktotake.Order.AppUser.Id); OrdersController.EmailMessaging.SendEmail(afflicteduser.Email, "Showtime Cancelled", "We're sorry, one of the showtimes which you had a ticket to has been cancelled. Your order has been refunded"); if (ticktotake.Order.PaymentMethod == PaymentMethod.PopcornPoints) { ticktotake.Order.AppUser.PopcornPoints += 100; } } db.Tickets.Remove(ticktotake); } db.Entry(schedule).State = EntityState.Modified; db.Showtimes.Remove(showtime); db.SaveChanges(); return(RedirectToAction("RemoveFromSchedule", "Schedules", new { ScheduleID = schedule.ScheduleID })); }
public OrderEntity(Order Order, params object[] args) { this.Id = Order.Id; this.Price = Order.Price; foreach (var arg in args) { // Order tham chiếu tới Showtime if (arg is Showtime) { Showtime showTime = arg as Showtime; this.ShowtimeEntity = new ShowtimeEntity(showTime, showTime.Film, showTime.Room); } // Order được OrderSeat tham chiếu tới if (arg is ICollection <Seat> ) { this.SeatEntities = new List <SeatEntity>(); ICollection <Seat> Seats = arg as ICollection <Seat>; foreach (var Seat in Seats) { this.SeatEntities.Add(new SeatEntity(Seat, Seat.Room)); } } } }
public EditShowtimeForm(Showtime showtime, List <Movie> movies) { _movies = movies; _showtime = showtime; InitializeComponent(); InitializeFormFileds(); }
public ShowtimeEntity(Showtime Showtime, params object[] args) { this.Id = Showtime.Id; this.FilmId = Showtime.FilmId; this.RoomId = Showtime.RoomId; this.Time = Showtime.Time; foreach (var arg in args) { // Showtime tham chiếu tới Film if (arg is Film) { this.FilmEntity = new FilmEntity(arg as Film); } // Showtime tham chiếu tới Room if (arg is Room) { this.RoomEntity = new RoomEntity(arg as Room); } // Showtime được Order tham chiếu tới if (arg is ICollection <Order> ) { this.OrderEntities = new List <OrderEntity>(); ICollection <Order> Orders = arg as ICollection <Order>; foreach (var Order in Orders) { this.OrderEntities.Add(new OrderEntity(Order)); } } } }
public void ReserveThreeSeats() { this.driver.Navigate().GoToUrl(this.uri); Reserve reserve = new Reserve("El Violinista del Diablo", "2"); reserve.Seats.Add(new Seat(4, 12)); reserve.Seats.Add(new Seat(4, 13)); reserve.Seats.Add(new Seat(4, 14)); EliteMovieEntryPoint eliteMovie = new EliteMovieEntryPoint(); eliteMovie.Reserve(reserve); List <Seat> bookedSeats = new List <Seat>(); using (WebClient request = new WebClient()) { string response = request.DownloadString("http://localhost:8080/rest/showtime/2"); Showtime showTime = JsonConvert.DeserializeObject <Showtime>(response); showTime.Seats.ForEach(block => bookedSeats.AddRange(block.Where(seat => seat.Booked))); } CollectionAssert.AreEquivalent(reserve.Seats, bookedSeats); }
public async Task <IHttpActionResult> PutShowtime(int id, Showtime showtime) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != showtime.Id) { return(BadRequest()); } db.Entry(showtime).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ShowtimeExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public async Task <IActionResult> Edit(int id, [Bind("Id,MovieId,ShowDateTime")] Showtime showtime) { if (id != showtime.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(showtime); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ShowtimeExists(showtime.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["MovieId"] = new SelectList(_context.Movie, "Id", "Title", showtime.MovieId); return(View(showtime)); }
public ActionResult Create([Bind(Include = "ShowtimeID,ShowtimeTime,TheaterNumber")] Showtime showtime, int SelectedMovies) { //add Movies //find the moveie Movie mov = db.Movies.Find(SelectedMovies); showtime.Movie = mov; //add vendors //foreach (int i in SelectedMovies) //{ // //find the vendor // Movie mvie = db.Movies.Find(i); // showtime.Movies.Add(mvie); //} if (ModelState.IsValid) { db.Showtimes.Add(showtime); db.SaveChanges(); return(RedirectToAction("Index")); } db.SaveChanges(); //Populate the view bag with the department list //ViewBag.AllMovies = GetAllMovies(showtime); return(View(showtime)); }
public AddShowtimeForm(Showtime newShowtime, List <Movie> movies) { _movies = movies; _newShowtime = newShowtime; InitializeComponent(); InitializeFormFields(); }
public Showtime CreateShowtime(ShowtimeRequest showtimeRequest) { Showtime showtime = new Showtime(); if (showtime.Status != null) { showtime.Status = showtimeRequest.Status; } else { showtime.Status = Constants.SHOWTIME_STATUS_ACTIVE; } showtime.StartAt = DateTime.Parse(showtimeRequest.StartAt); showtime.Movie = dbContext.Movies.Where(m => m.Id == showtimeRequest.MovieId).FirstOrDefault(); if (showtime.Movie != null) { showtime.EndAt = showtime.StartAt.AddMinutes(showtime.Movie.Runtime); } showtime.BasePrice = showtimeRequest.BasePrice; showtime.Room = dbContext.Rooms.Where(r => r.Id == showtimeRequest.RoomId).FirstOrDefault(); showtime.ScreenType = dbContext.ScreenTypes.Where(st => st.Id == showtimeRequest.ScreenTypeId).FirstOrDefault(); dbContext.Add(showtime); bool isSuccess = Save(); if (!isSuccess) { return(null); } return(showtime); }
public ActionResult DeleteConfirmed(int id) { Showtime showtime = db.Showtimes.Find(id); db.Showtimes.Remove(showtime); db.SaveChanges(); return(RedirectToAction("Index")); }
public void Delete(Showtime showtime) { var executor = new CommandExecutor("dbo.DeleteShowtime", connectionString); executor.SetParam("@Id", showtime.Id, SqlDbType.Int); executor.ExecuteCommand(true).ThrowIfException(); }
public MovieListPage() { /** * Implementing the search functionality **/ Title = "Movies"; Padding = new Thickness(0, Device.OnPlatform(20, 0, 0), 0, 0); SearchBar movieSearchBar = new SearchBar { Placeholder = "Search Movies", }; ListView listView = new ListView(); listView.ItemsSource = movies; listView.HasUnevenRows = true; listView.SeparatorColor = Color.FromHex("#ddd"); movieSearchBar.TextChanged += (sender, e) => { if (string.IsNullOrWhiteSpace(movieSearchBar.Text)) { listView.ItemsSource = movies; } else { listView.ItemsSource = movies.Where(p => p.Movie.Name.ToLower().Contains(movieSearchBar.Text.ToLower())); } }; movieSearchBar.SearchButtonPressed += (sender, e) => { if (!string.IsNullOrEmpty(movieSearchBar.Text)) { listView.ItemsSource = movies.Where(p => p.Movie.Name.ToLower().Contains(movieSearchBar.Text.ToLower())); } }; listView.ItemTemplate = new DataTemplate(typeof(MovieTemplate)); var layout = new StackLayout { }; layout.Children.Add(movieSearchBar); layout.Children.Add(listView); Content = layout; listView.ItemSelected += async(sender, e) => { if (e.SelectedItem != null) { Showtime item = (Showtime)e.SelectedItem; listView.SelectedItem = null; await Navigation.PushAsync(new ShowTimeDetailPage(item)); } }; }
public async Task <IActionResult> PostReservationAsync(string email, int adultTickets, int childTickets, int showtimeID) { if (email == "") { return(BadRequest(new { general = "Please enter your email" })); } else if (adultTickets + childTickets == 0) { return(BadRequest(new { general = "You must reserve at least one ticket" })); } int reservationsMade = _context.Reservations .Where(r => r.ShowtimeID == showtimeID) .Count(); int roomCapacity = _context.Showtimes .Where(s => s.ShowtimeID == showtimeID) .Select(s => s.Room.Capacity) .Single(); if (reservationsMade + adultTickets + childTickets > roomCapacity) { return(BadRequest(new { general = "There aren't enough free seats to complete your reservation. " + "Please choose a different showtime." })); } for (int i = 0; i < adultTickets; i++) { Reservation reservation = new Reservation { ShowtimeID = showtimeID, Type = "Adult", Email = email }; _context.Reservations.Add(reservation); } for (int i = 0; i < childTickets; i++) { Reservation reservation = new Reservation { ShowtimeID = showtimeID, Type = "Child", Email = email }; _context.Reservations.Add(reservation); } if (reservationsMade + adultTickets + childTickets == roomCapacity) { Showtime showtime = await _context.Showtimes.FindAsync(showtimeID); showtime.Soldout = true; } await _context.SaveChangesAsync(); return(Ok()); }
public ActionResult AddToSchedule(int ScheduleID) { Showtime st = new Showtime(); Schedule schedule = db.Schedules.Find(ScheduleID); st.Schedule = schedule; return(View(st)); }
private Showtime CreateShowtime(Tuple <DayOfWeek, string> date) { var showtime = new Showtime { Id = Guid.NewGuid().ToString(), DateTime = dateBuilder.GetDate(date.Item1, date.Item2) }; LogHelper.Information(this, $"Showtime created ({date.Item1.ToString()},{date.Item2}): {showtime.DateTime.ToString()}"); return(showtime); }
public ActionResult Edit([Bind(Include = "ShowtimeID,Time")] Showtime showtime) { if (ModelState.IsValid) { db.Entry(showtime).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(showtime)); }
public ActionResult AddToOrder(Ticket t, int SelectedShowtime, int[] AvailableSeats) { Order ord = new Order(); foreach (int i in AvailableSeats) { Ticket tick = new Ticket(); tick.Seat = new Seat(); tick.Seat.SeatName = GetSeatName(i); tick.Seat.SeatID = i; } //Find the product associated with the int SelectedCourse Showtime showtime = db.Showtimes.Find(SelectedShowtime); //set the product property of the order detail to this newly found product //if (t.Showtime.ShowtimeTime <= DateTime.Now) //{ t.Showtime = showtime; //} //else //{ // RedirectToAction("Order", "AddToOrder"); //} //Find the order associated with the order detail ord = db.Orders.Find(t.Order.OrderID); //set the property of the order detail to this newly found order t.Order = ord; //set the value of the product fee t.TicketPrice = showtime.Price; //Limited Capacity Logic if (AvailableSeats == null) { RedirectToAction("SoldOut", "Orders"); } if (ModelState.IsValid)//model meets all requirements { //add the order detail to the database db.Tickets.Add(t); db.SaveChanges(); return(RedirectToAction("Details", "Orders", new { id = ord.OrderID })); } //model state is not valid ViewBag.AllShowtimes = GetAllShowtimes(); return(View(t)); }
public async Task <IHttpActionResult> GetShowtime(int id) { Showtime showtime = await db.Showtimes.FindAsync(id); if (showtime == null) { return(NotFound()); } return(Ok(showtime)); }
public Boolean check(Showtime showtime) { foreach (var show in showtimes) { if (show.MovieId == showtime.MovieId) { return(false); } } return(true); }
public ActionResult Edit([Bind(Include = "ID,Date,Time,Theatre,FilmID")] Showtime showtime) { if (ModelState.IsValid) { db.Entry(showtime).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.FilmID = new SelectList(db.Films, "ID", "Title", showtime.FilmID); return(View(showtime)); }
public void VerifiesReserveSeats() { Showtime showTime = ApiConsumer.RequestGet<Showtime>(new Uri("http://localhost:8080/rest/showtime/3")); List<Seat> bookedSeats = new List<Seat>(); showTime.Seats.ToList().ForEach(block => bookedSeats.AddRange(block.Where(seat => seat.Booked))); foreach (Seat currentSeat in this.Reserve.Seats) { CollectionAssert.Contains(bookedSeats, currentSeat); } }
public ActionResult Create([Bind(Include = "ShowtimeID,Time")] Showtime showtime) { if (ModelState.IsValid) { db.Showtimes.Add(showtime); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(showtime)); }
public Showtime GetShowtimeById(int id) { Showtime showtime = dbContext.Showtime .Where(s => s.Id == id) .Include(m => m.Movie) .Include(r => r.Room) .Include(st => st.ScreenType) .FirstOrDefault(); return(showtime); }
public async Task <IActionResult> Create([Bind("Id,MovieId,ShowDateTime")] Showtime showtime) { if (ModelState.IsValid) { _context.Add(showtime); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["MovieId"] = new SelectList(_context.Movie, "Id", "Title", showtime.MovieId); return(View(showtime)); }
public ActionResult Edit([Bind(Include = "Showtime_ID,Screen_ID,Movie_ID,Show_Date,Show_Time")] Showtime showtime) { if (ModelState.IsValid) { db.Entry(showtime).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.Movie_ID = new SelectList(db.Movies, "Movie_ID", "Movie_Name", showtime.Movie_ID); ViewBag.Screen_ID = new SelectList(db.Screens, "Screen_ID", "Screen_ID", showtime.Screen_ID); return(View(showtime)); }