private void createSessionsToView() { SharedData.SessionsToView = new ObservableCollection <SessionToView>(); foreach (Session session in SharedData.SessionsFromDatabase) { SessionToView sessionToView = new SessionToView(); sessionToView.SessionId = session.SessionId; sessionToView.StartDate = Convert.ToDateTime(session.StartDate); sessionToView.EndDate = Convert.ToDateTime(session.EndDate); sessionToView.Type = session.Type; using (SQLiteConnection connection = new SQLiteConnection(SharedData.DatabaseLocation)) { connection.CreateTable <Movie>(); connection.CreateTable <Ticket>(); ///get all tickets to current session List <Ticket> ticketsToSession = connection.Query <Ticket>("SELECT * FROM Ticket WHERE SessionNumber = ?", session.SessionId); ///get all available tickets List <Ticket> availableToSellTickets = (from t in ticketsToSession where t.SellDate == "" && t.IsBooked == 0 select t).ToList(); sessionToView.AvailableTickets = availableToSellTickets.Count; Movie movie = connection.Query <Movie>("SELECT * FROM Movie WHERE MovieId = ?", ticketsToSession[0].MovieNumber)[0]; sessionToView.MovieTitle = movie.Title; } SharedData.SessionsToView.Add(sessionToView); } }
private void buttonViewSessionDetails_Click(object sender, RoutedEventArgs e) { SessionToView sessionToView = listViewFutureSessions.SelectedItem as SessionToView; WindowObserveSession windowObserveSession = new WindowObserveSession(sessionToView); windowObserveSession.ShowDialog(); }
public WindowObserveSession(SessionToView sessionViewToSet) { InitializeComponent(); sessionToView = sessionViewToSet; LabelMovieTitle.Content = "Назва фільму: " + sessionToView.MovieTitle; LabelMovieDuration.Content = "Триваість: " + (sessionToView.EndDate - sessionToView.StartDate); LabelTypeSession.Content = "Тип: " + sessionToView.Type; LabelStartDate.Content = "Дата початку: " + sessionToView.StartDate; LabelEndDate.Content = "Дата кінця: " + sessionToView.EndDate; LabelAvailableTickets.Content = "Доступно квитків: " + sessionToView.AvailableTickets; ///Get the tickets to current session from database List <Ticket> ticketsToSession; using (SQLiteConnection connection = new SQLiteConnection(SharedData.DatabaseLocation)) { connection.CreateTable <Ticket>(); connection.CreateTable <Movie>(); ticketsToSession = connection.Query <Ticket>("SELECT * FROM Ticket WHERE SessionNumber = ?", sessionToView.SessionId); LabelReleaseYear.Content = "Рік виходу: " + connection.Query <Movie>("SELECT * FROM Movie WHERE MovieId = ?", ticketsToSession[0].MovieNumber).FirstOrDefault().ReleaseYear; } StackPanelOuter.Children.Add(new TicketsToSessionViewer(ticketsToSession, this)); }