private void AddButton_Click(object sender, RoutedEventArgs e) { using (var context = new MovieRentalEntities()) { Customer customer = new Customer(); { customer.FirstName = FirstNameBox.Text; customer.LastName = LastNameBox.Text; customer.Address = AddressBox.Text; customer.City = CityBox.Text; customer.Province = ProvinceBox.Text; customer.PostalCode = PostalCodeBox.Text; customer.Phone = PhoneNumberBox.Text; customer.Email = EmailBox.Text; customer.CreditCard = CreditCardBox.Text; customer.Username = UsernameBox.Text; customer.Password = PasswordBox.Password; customer.Rating = 0; customer.CreationDate = DateTime.Today; int value = int.Parse(AccountTypeBox.Text); customer.AccountType = value; PasswordBox.PasswordChar = '•'; } context.Customers.Add(customer); context.SaveChanges(); MessageBox.Show("Customer added"); } }
private void MovieList_SelectionChanged(object sender, SelectionChangedEventArgs e) { Movie current = (Movie)MovieList.SelectedItem; if (current == null) { return; } List <string> info = new List <string>(); using (var context = new MovieRentalEntities()) { var movie = context.Movies.Where(m => m.MovieID == current.MovieID).Single(); info.Add("Genre: " + movie.Genre.ToString()); info.Add("Distribution Fee: $" + movie.DistributionFee.ToString("0.00")); info.Add("Number of copies: " + movie.NumberOfCopies.ToString()); info.Add("Rating: " + movie.Rating.ToString()); info.Add("Orders this week: " + GetWeeklyOrders(movie.MovieID)); info.Add("Orders this month: " + GetMonthlyOrders(movie.MovieID)); info.Add("Orders this year: " + GetYearlyOrders(movie.MovieID)); } MovieInfo.ItemsSource = info; }
public BrowseRentals() { InitializeComponent(); using (var context = new MovieRentalEntities()) { var orders = context.Orders.Include("Movie").Include("Customer").ToList(); OrderList.DisplayMemberPath = "EmployeeOrderInfo"; OrderList.ItemsSource = orders; } SearchBy.Items.Add("Customer"); SearchBy.Items.Add("Movie Title"); SearchBy.Items.Add("Genre"); Genres.ItemsSource = GenreDict.genreDict; Genres.SelectedValuePath = "Value"; Genres.DisplayMemberPath = "Value"; Genres.SelectedIndex = 0; SearchBox.Visibility = Visibility.Hidden; Genres.Visibility = Visibility.Hidden; SearchButton.Visibility = Visibility.Hidden; FirstName.Visibility = Visibility.Hidden; LastName.Visibility = Visibility.Hidden; }
public Employee GetTopEmployee(DateTime firstOfMonth, DateTime lastOfMonth) { TopEmployee employee; using (var context = new MovieRentalEntities()) { var empQuery = "SELECT Employee.SIN, COUNT(OrderID) as NumberOfOrders FROM dbo.Employee,dbo.Orders WHERE Employee.SIN = Orders.SIN AND Orders.RentalDate >= @first AND Orders.RentalDate <= @last GROUP BY Employee.SIN ORDER BY (NumberOfOrders) DESC"; SqlParameter first = new SqlParameter("@first", firstOfMonth); SqlParameter last = new SqlParameter("@last", lastOfMonth); var topEmployee = context.Database.SqlQuery <TopEmployee>(empQuery, first, last).ToList(); if (topEmployee.Count() != 0) { employee = topEmployee.First(); Employee top = context.Employees.Where(emp => emp.SIN == employee.SIN).Single(); return(top); } else { return(null); } } }
private void Approve_Click(object sender, RoutedEventArgs e) { Order current = (Order)OrderList.SelectedItem; using (var context = new MovieRentalEntities()) { var order = context.Orders.Include("Movie").SingleOrDefault(o => o.OrderID == current.OrderID); if (order != null) { order.SIN = employee.SIN; order.RentalDate = System.DateTime.Today; order.ExpectedReturn = System.DateTime.Today.AddMonths(1); order.Movie.NumberOfCopies--; context.SaveChanges(); MessageBox.Show("Order has been approved"); // Refresh order list OrderList.ItemsSource = null; OrderList.ItemsSource = GetOrders(); OrderInfo.ItemsSource = null; } } }
public EditMovies() { InitializeComponent(); using (var context = new MovieRentalEntities()) { var movies = from m in context.Movies select m; MovieList.DisplayMemberPath = "Title"; MovieList.ItemsSource = movies.ToList(); } SearchBy.Items.Add("Title"); SearchBy.Items.Add("Genre"); SearchBy.Items.Add("Popular"); Genres.ItemsSource = GenreDict.genreDict; Genres.SelectedValuePath = "Value"; Genres.DisplayMemberPath = "Value"; Genres.SelectedIndex = 0; PopularCount.Items.Add("Top 5"); PopularCount.Items.Add("Top 10"); PopularCount.Items.Add("Top 100"); SearchBox.Visibility = Visibility.Hidden; Genres.Visibility = Visibility.Hidden; PopularCount.Visibility = Visibility.Hidden; SearchButton.Visibility = Visibility.Hidden; }
public List <Customer> GetTopCustomers(DateTime firstOfMonth, DateTime lastOfMonth) { List <Customer> topCustomers = new List <Customer>(); using (var context = new MovieRentalEntities()) { var cusQuery = "SELECT Customer.AccountNumber, COUNT(OrderID) as NumberOfOrders FROM Customer,Orders WHERE Customer.AccountNumber = Orders.AccountNumber AND Orders.RentalDate >= @first AND Orders.RentalDate <= @last GROUP BY Customer.AccountNumber ORDER BY (NumberOfOrders) DESC"; SqlParameter first = new SqlParameter("@first", firstOfMonth); SqlParameter last = new SqlParameter("@last", lastOfMonth); var results = context.Database.SqlQuery <TopCustomer>(cusQuery, first, last).ToList(); if (results.Count() != 0) { foreach (TopCustomer cust in results) { Customer top = context.Customers.Where(c => c.AccountNumber == cust.AccountNumber).Single(); topCustomers.Add(top); } return(topCustomers); } else { Console.WriteLine("Is null"); return(null); } } }
private void DeleteButton_Click(object sender, RoutedEventArgs e) { Employee selected = (Employee)EmployeeList.SelectedItem; if (selected != null) { using (var context = new MovieRentalEntities()) { if (MessageBox.Show("Are you sure you want to delete " + selected.FirstName + " " + selected.LastName + "?", "Delete Employee", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) { // Remove all references to the movie var employee = context.Employees.Where(emp => emp.SIN == selected.SIN).Single(); context.Employees.Remove(employee); var orders = context.Orders.Where(o => o.SIN == selected.SIN); foreach (Order order in orders) { order.SIN = null; } context.SaveChanges(); MessageBox.Show(selected.FirstName + " " + selected.LastName + " deleted"); } else { return; } } } }
public BrowseOrders(Customer customer) { InitializeComponent(); this.customer = customer; var gridView = new GridView(); this.OrderList.View = gridView; gridView.Columns.Add(new GridViewColumn { Header = "OrderID", DisplayMemberBinding = new Binding("OrderID") }); gridView.Columns.Add(new GridViewColumn { Header = "Movie", DisplayMemberBinding = new Binding("Title") }); gridView.Columns.Add(new GridViewColumn { Header = "Rental Date", DisplayMemberBinding = new Binding("Date") }); gridView.Columns.Add(new GridViewColumn { Header = "Expected Return", DisplayMemberBinding = new Binding("Expected") }); using (var context = new MovieRentalEntities()) { // Orders that have been approved and not returned yet var orders = context.Orders.Include("Movie").Where(o => o.AccountNumber == customer.AccountNumber && o.RentalDate != null && o.ActualReturn == null).ToList(); foreach (Order order in orders) { OrderList.Items.Add(new OrderView { OrderID = order.OrderID, Title = order.Movie.Title, Date = order.RentalDate.Value.ToShortDateString(), Expected = order.ExpectedReturn.Value.ToShortDateString() }); } } using (var context = new MovieRentalEntities()) { // Orders that have been returned var history = context.Orders.Include("Movie").Where(o => o.AccountNumber == customer.AccountNumber && o.ActualReturn != null).ToList(); History.DisplayMemberPath = "CustomerOrderInfo"; History.ItemsSource = history; } }
private void ResetButton_Click(object sender, RoutedEventArgs e) { using (var context = new MovieRentalEntities()) { var orders = context.Orders.Include("Movie").Include("Customer").ToList(); OrderList.ItemsSource = orders; } }
public List <Order> GetOrders() { using (var context = new MovieRentalEntities()) { context.Configuration.LazyLoadingEnabled = false; var orders = context.Orders.Include("Movie").Include("Customer").Where(order => order.RentalDate == null).ToList(); return(orders); } }
private void SearchButton_Click(object sender, RoutedEventArgs e) { string search = SearchBox.Text; using (var context = new MovieRentalEntities()) { var movies = context.Movies.Where(movie => movie.Title.Contains(SearchBox.Text)).ToList(); MovieList.ItemsSource = movies; } }
// TODO: Tab indices private void SaveButton_Click(object sender, RoutedEventArgs e) { using (var context = new MovieRentalEntities()) { var customer = context.Customers.SingleOrDefault(c => c.AccountNumber == this.customer.AccountNumber); if (customer != null) { if (!string.IsNullOrWhiteSpace(FirstNameBox.Text)) { customer.FirstName = FirstNameBox.Text; } if (!string.IsNullOrWhiteSpace(LastNameBox.Text)) { customer.LastName = LastNameBox.Text; } if (!string.IsNullOrWhiteSpace(AddressBox.Text)) { customer.Address = AddressBox.Text; } if (!string.IsNullOrWhiteSpace(CityBox.Text)) { customer.City = CityBox.Text; } if (!string.IsNullOrWhiteSpace(ProvinceBox.Text)) { customer.Province = ProvinceBox.Text; } if (!string.IsNullOrWhiteSpace(PostalCodeBox.Text)) { customer.PostalCode = PostalCodeBox.Text; } if (!string.IsNullOrWhiteSpace(PhoneNumberBox.Text)) { customer.Phone = PhoneNumberBox.Text; } if (!string.IsNullOrWhiteSpace(EmailBox.Text)) { customer.Email = EmailBox.Text; } if (!string.IsNullOrWhiteSpace(UsernameBox.Text)) { customer.Username = UsernameBox.Text; } if (!string.IsNullOrWhiteSpace(PasswordBox.Password) && PasswordBox.Password == ConfirmBox.Password) { customer.Password = PasswordBox.Password; } context.SaveChanges(); MessageBox.Show("Changes saved"); } } }
private void Genres_DropDownClosed(object sender, EventArgs e) { string genre = Genres.SelectedValue.ToString(); using (var context = new MovieRentalEntities()) { var movies = context.Movies.Where(m => m.Genre == genre).ToList(); MovieList.ItemsSource = movies; } }
private void ResetButton_Click(object sender, RoutedEventArgs e) { using (var context = new MovieRentalEntities()) { var movies = from m in context.Movies select m; MovieList.ItemsSource = movies.ToList(); MovieList.SelectedIndex = 0; } }
private void Genres_DropDownClosed(object sender, EventArgs e) { string genre = Genres.SelectedValue.ToString(); using (var context = new MovieRentalEntities()) { var orders = context.Orders.Include("Movie").Where(o => o.Movie.Genre == genre).ToList(); OrderList.ItemsSource = orders; } }
private int GetYearlyOrders(int movieID) { DateTime firstOfYear = new DateTime(DateTime.Now.Year, 1, 1); using (var context = new MovieRentalEntities()) { var query = "SELECT COUNT(OrderID) as NumberOfOrders FROM dbo.Orders WHERE Orders.RentalDate >= @date AND MovieID = @id"; var yearRentals = context.Database.SqlQuery <int>(query, new SqlParameter("@date", firstOfYear), new SqlParameter("@id", movieID)).Single(); return(yearRentals); } }
private void ReturnButton_Click(object sender, RoutedEventArgs e) { OrderView current = (OrderView)OrderList.SelectedItem; using (var context = new MovieRentalEntities()) { var order = context.Orders.Include("Movie").SingleOrDefault(o => o.OrderID == current.OrderID); order.ActualReturn = DateTime.Today; order.Movie.NumberOfCopies++; context.SaveChanges(); MessageBox.Show("Movie has been returned"); } }
private void Add_Click(object sender, RoutedEventArgs e) { using (var context = new MovieRentalEntities()) { if (PasswordBox.Password == ConfirmBox.Password) { try { string position = AccountType.SelectedItem.ToString(); int type; if (position == "Employee") { type = 1; } else { type = 0; } Employee employee = new Employee() { SIN = SINBox.Text, FirstName = FirstNameBox.Text, LastName = LastNameBox.Text, Address = AddressBox.Text, City = CityBox.Text, Province = ProvinceBox.Text, PostalCode = PostalCodeBox.Text, Phone = PhoneBox.Text, StartDate = DateTime.Today, Wage = Convert.ToDecimal(WageBox.Text), Username = UsernameBox.Text, Password = PasswordBox.Password, AccountType = type }; context.Employees.Add(employee); context.SaveChanges(); MessageBox.Show("Employee added"); } catch { MessageBox.Show("Error adding employee"); return; } } } }
public ManageEmployees() { InitializeComponent(); using (var context = new MovieRentalEntities()) { var employees = from e in context.Employees select e; EmployeeList.DisplayMemberPath = "FirstName"; EmployeeList.ItemsSource = employees.ToList(); EmployeeList.SelectedIndex = -1; } AccountType.Items.Add("Employee"); AccountType.Items.Add("Manager"); }
private void OrderList_SelectionChanged(object sender, SelectionChangedEventArgs e) { RentalInfo.Items.Clear(); Order order = (Order)OrderList.SelectedItem; using (var context = new MovieRentalEntities()) { var movie = context.Movies.Where(m => m.MovieID == order.MovieID).Single(); RentalInfo.Items.Add("Movie: " + movie.Title); RentalInfo.Items.Add("Customer: " + order.Customer.FullName); RentalInfo.Items.Add("Rental Date: " + order.RentalDate.ToString()); RentalInfo.Items.Add("Return Date: " + order.ActualReturn.ToString()); } }
public ManageCustomers(Customer customer) { InitializeComponent(); using (var context = new MovieRentalEntities()) { var customers = from c in context.Customers select c; CustomerList.DisplayMemberPath = "FirstName"; CustomerList.SelectedValuePath = "AccountNumber"; CustomerList.ItemsSource = customers.ToList(); CustomerList.SelectedIndex = 0; } }
private void DeleteButton_Click(object sender, RoutedEventArgs e) { Movie current = (Movie)MovieList.SelectedItem; if (current != null) { using (var context = new MovieRentalEntities()) { if (MessageBox.Show("Are you sure you want to delete " + current.Title + "?", "Delete Movie", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) { // Remove all references to the movie var movie = context.Movies.Where(m => m.MovieID == current.MovieID).Single(); context.Movies.Remove(movie); var orders = context.Orders.Where(o => o.MovieID == current.MovieID); foreach (Order order in orders) { context.Orders.Remove(order); } var queues = context.Queues.Where(q => q.MovieID == current.MovieID); foreach (Queue queue in queues) { context.Queues.Remove(queue); } var credits = context.Credits.Where(c => c.MovieID == current.MovieID); foreach (Credit credit in credits) { context.Credits.Remove(credit); } context.SaveChanges(); MessageBox.Show(current.Title + " deleted"); } else { return; } } } }
private void Rate_Click(object sender, RoutedEventArgs e) { Order selected = (Order)History.SelectedItem; if (selected == null) { MessageBox.Show("Please select a movie to rate"); } else { using (var context = new MovieRentalEntities()) { var movie = context.Movies.Where(m => m.MovieID == selected.MovieID).Single(); var RatingWindow = new RatingWindow(movie); RatingWindow.Show(); } } }
private void SearchButton_Click(object sender, RoutedEventArgs e) { string search = SearchBox.Text; using (var context = new MovieRentalEntities()) { string current = (string)SearchBy.SelectedItem; switch (current) { case "Customer": if (!string.IsNullOrWhiteSpace(FirstName.Text) && !string.IsNullOrWhiteSpace(LastName.Text)) { var customerOrders = context.Orders.Include("Customer").Include("Movie").Where(o => o.Customer.FirstName.Contains(FirstName.Text) && o.Customer.LastName.Contains(LastName.Text)).ToList(); OrderList.ItemsSource = customerOrders; break; } else if (!string.IsNullOrWhiteSpace(FirstName.Text)) { var customerOrders = context.Orders.Include("Customer").Include("Movie").Where(o => o.Customer.FirstName.Contains(FirstName.Text)).ToList(); OrderList.ItemsSource = customerOrders; break; } else if (!string.IsNullOrWhiteSpace(LastName.Text)) { var customerOrders = context.Orders.Include("Customer").Include("Movie").Where(o => o.Customer.LastName.Contains(LastName.Text)).ToList(); OrderList.ItemsSource = customerOrders; break; } else { OrderList.ItemsSource = null; break; } case "Movie Title": var movieRentals = context.Orders.Include("Movie").Where(o => o.Movie.Title.Contains(search)).ToList(); OrderList.ItemsSource = movieRentals; break; } } }
private void SaveButton_Click(object sender, RoutedEventArgs e) { int copies; decimal fee; string genre = Genre.SelectedValue.ToString(); try { copies = Convert.ToInt32(NumberOfCopies.Text); } catch { MessageBox.Show("Error in number of copies"); return; } try { fee = Convert.ToDecimal(DistributionFee.Text); } catch { MessageBox.Show("Error in distribution fee"); return; } using (var context = new MovieRentalEntities()) { var movie = context.Movies.Where(m => m.MovieID == this.movie.MovieID).Single(); movie.Genre = genre; movie.NumberOfCopies = copies; movie.DistributionFee = fee; context.SaveChanges(); if (MessageBox.Show("Changes saved", movie.Title, MessageBoxButton.OK, MessageBoxImage.None) == MessageBoxResult.OK) { this.Close(); } } }
private void Confirm_Click(object sender, RoutedEventArgs e) { using (var context = new MovieRentalEntities()) { var mov = context.Movies.Where(m => m.MovieID == this.movie.MovieID).Single(); int total = (int)client.GetMovieAsync(mov.MovieID).Result.VoteAverage *client.GetMovieAsync(mov.MovieID).Result.VoteCount; int votes = client.GetMovieAsync(mov.MovieID).Result.VoteCount; votes = votes++; if (RateOne.IsChecked == true) { total = total + 1; } else if (RateTwo.IsChecked == true) { total = total + 2; } else if (RateThree.IsChecked == true) { total = total + 3; } else if (RateFour.IsChecked == true) { total = total + 4; } else if (RateFive.IsChecked == true) { total = total + 5; } Console.WriteLine(total); Console.WriteLine(votes); mov.Rating = (int)Math.Round((float)(total / votes)) / 2; context.SaveChanges(); this.Close(); } }
private List <Movie> GetPopular(int count) { List <Movie> top = new List <Movie>(); using (var context = new MovieRentalEntities()) { var query = "SELECT MovieID, COUNT(OrderID) as NumberOfOrders FROM dbo.Orders GROUP BY MovieID ORDER BY (NumberOfOrders) DESC"; var popular = context.Database.SqlQuery <StorePopular>(query); var pop = popular.Take(count); // Requested number of most popular movies foreach (StorePopular p in pop) { var movie = context.Movies.Where(m => m.MovieID == p.MovieID).Single(); top.Add(movie); } } return(top); }
private void RemoveButton_Click(object sender, RoutedEventArgs e) { Customer selected = (Customer)CustomerList.SelectedItem; if (selected != null) { using (var context = new MovieRentalEntities()) { if (MessageBox.Show("Are you sure you want to delete " + selected.FirstName + " " + selected.LastName + "?", "Delete Customer", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) { var customer = context.Customers.Where(cus => cus.AccountNumber == selected.AccountNumber).Single(); context.Customers.Remove(customer); context.SaveChanges(); MessageBox.Show(selected.FirstName + " " + selected.LastName + " deleted"); } else { return; } } } }
private int GetWeeklyOrders(int movieID) { // Sunday of this week DayOfWeek firstDay = 0; DateTime firstOfWeek = DateTime.Today.Date; // Find the date of this week's Sunday while (firstOfWeek.DayOfWeek != firstDay) { firstOfWeek = firstOfWeek.AddDays(-1); } DateTime date = firstOfWeek.Date; using (var context = new MovieRentalEntities()) { var query = "SELECT COUNT(OrderID) as NumberOfOrders FROM dbo.Orders WHERE Orders.RentalDate >= @date AND MovieID = @id"; var weekRentals = context.Database.SqlQuery <int>(query, new SqlParameter("@date", date), new SqlParameter("@id", movieID)).Single(); return(weekRentals); } }