void newWindow_RaiseCustomEvent(object sender, CustomEventArgs e) { String classAbbr = e.classAbbrev; CourseDB courseDB = CourseDB.Instance; Course c = courseDB.fetchCourseByName(classAbbr); c.Reviews.Add(e.userReview); c.Tags.Add(e.tag); CourseListItemControl clic = courseDB.getControl(c); ReviewPanel reviewPanel = new ReviewPanel(); reviewPanel.RatingNumber.Text = e.userReview.GetRating() + ""; reviewPanel.ReviewSummary.Text = e.userReview.Summary; reviewPanel.Title.Text = e.userReview.Title; clic.CommentsStackPanel.Children.Add(reviewPanel); clic.Star.RatingValue = c.GetRating(); clic.TagLabel.Text = c.CourseTagsToString(); ReviewClass.Remove(classAbbr); if (ReviewClass.Count == 0) { this.ReviewButton.IsEnabled = false; this.ReviewButton.Foreground = new System.Windows.Media.SolidColorBrush((Color)ColorConverter.ConvertFromString("#FF747474")); } }
/// <summary> /// Given a Course, generate a CourseListItemControl object for it. /// </summary> /// <param name="cCourse">Course to generate Control from</param> /// <returns>The Generated Control.</returns> private CourseListItemControl generateCLIC(Course cCourse) { // Generate new Control and populate. CourseListItemControl pReturnControl = new CourseListItemControl(cCourse); pReturnControl.CourseNameLabel.Content = cCourse.CourseAbbrev + "\t" + cCourse.CourseName; pReturnControl.CourseDayLabel.Text = cCourse.SceduleDayToString(); pReturnControl.CourseTime.Text = cCourse.SceduleTimeToString(); pReturnControl.CourseRoom.Text = cCourse.Location; pReturnControl.ProfNameLabel.Text = cCourse.ProfessorName; if (cCourse.StatusToString().Equals("Open")) { Uri uri = new Uri(System.AppDomain.CurrentDomain.BaseDirectory + "../../green_dot.png"); pReturnControl.StatusIcon.Source = new BitmapImage(uri); } else { Uri uri = new Uri(System.AppDomain.CurrentDomain.BaseDirectory + "../../red_dot.png"); pReturnControl.StatusIcon.Source = new BitmapImage(uri); } pReturnControl.StatusLabel.Text = cCourse.getStatusAbbrev(); pReturnControl.CourseDescriptionLabel.Text = cCourse.Description; pReturnControl.TagLabel.Text = cCourse.CourseTagsToString(); pReturnControl.Height = CourseListItemControl.ShortDescriptionHeight; pReturnControl.PreReqLabel.Text = cCourse.PreReqToString(); pReturnControl.Star.RatingValue = cCourse.GetRating(); foreach (Tutorial t in cCourse.Tutorials) { pReturnControl.TutorialTimeDropDown.Items.Add(t); } if (cCourse.Tutorials.Count == 0) { pReturnControl.TutorialTimeDropDown.Items.Add("No tutorials"); } pReturnControl.TutorialTimeDropDown.SelectedIndex = 0; foreach (UserReview rev in cCourse.Reviews) { ReviewPanel reviewPanel = new ReviewPanel(); reviewPanel.RatingNumber.Text = rev.GetRating() + ""; reviewPanel.ReviewSummary.Text = rev.Summary; reviewPanel.Title.Text = rev.Title; pReturnControl.CommentsStackPanel.Children.Add(reviewPanel); } return(pReturnControl); }
/// <summary> /// Function to add a class to the database. Generates an associated CourseListItemControl /// </summary> /// <param name="cNewCourse">The Course to add.</param> public void addCourse(Course cNewCourse) { CourseListItemControl pNewControl = generateCLIC(cNewCourse); m_pCourseList.Add(new KeyValuePair <Course, CourseListItemControl>(cNewCourse, pNewControl)); }
private void Calendar_Click(object sender, RoutedEventArgs e) { Button button = (Button)sender; if (button.Content.Equals("No class")) { return; } if (StudentCourses.Count() > 0 && toggleSelectedClass == false) { this.SelectedClassStackPanel.Children.Clear(); CourseListItemControl CourseControl = new CourseListItemControl(null); Course c = new Course(); for (int i = 0; i < StudentCourses.Count; i++) { if (StudentCourses[i].CourseAbbrev.Equals((sender as Button).Content)) { c = StudentCourses[i]; switch (i) { case 0: CourseControl.RemoveButton.Click += RemoveButton_Click0; break; case 1: CourseControl.RemoveButton.Click += RemoveButton_Click1; break; case 2: CourseControl.RemoveButton.Click += RemoveButton_Click2; break; case 3: CourseControl.RemoveButton.Click += RemoveButton_Click3; break; case 4: CourseControl.RemoveButton.Click += RemoveButton_Click4; break; } break; } } CourseControl.CourseNameLabel.Content = c.CourseAbbrev + "\t" + c.CourseName; CourseControl.CourseDayLabel.Text = c.SceduleDayToString(); CourseControl.CourseTime.Text = c.SceduleTimeToString(); CourseControl.CourseRoom.Text = c.Location; CourseControl.ProfNameLabel.Text = c.ProfessorName + " User"; if (c.StatusToString().Equals("Open")) { Uri uri = new Uri(System.AppDomain.CurrentDomain.BaseDirectory + "../../green_dot.png"); CourseControl.StatusIcon.Source = new BitmapImage(uri); } else { Uri uri = new Uri(System.AppDomain.CurrentDomain.BaseDirectory + "../../red_dot.png"); CourseControl.StatusIcon.Source = new BitmapImage(uri); } CourseControl.StatusLabel.Text = c.StatusToString(); CourseControl.RemoveButton.Visibility = Visibility.Visible; CourseControl.TutorialSelectedLabel.Visibility = Visibility.Visible; if (c.Tutorials.Count > 0) { CourseControl.TutorialSelectedLabel.Text = c.Tutorials[0].ToString(); } CourseControl.MoreTextBlock.Visibility = Visibility.Hidden; CourseControl.AddButton1.Visibility = Visibility.Hidden; CourseControl.Status.Visibility = Visibility.Hidden; CourseControl.StatusLabel1.Visibility = Visibility.Hidden; CourseControl.TutorialTimeDropDown.Visibility = Visibility.Hidden; this.SelectedClassStackPanel.Children.Add(CourseControl); toggleSelectedClass = true; } else { toggleSelectedClass = false; this.SelectedClassStackPanel.Children.Clear(); } }