async void SubmitEdit_Clicked(object sender, EventArgs e) { if (subrev) { SubjectReview currentReview = EntityLoader.GetUserReviewsS().Find(sr => sr.SubjectId == s.Id); if (LectOrSubPicker.SelectedIndex != -1) { currentReview.LecturerId = EntityLoader.lecturers.Find(l => { string name = l.FirstName + " " + l.LastName; return(name == LectOrSubPicker.Items[LectOrSubPicker.SelectedIndex]); }).Id; } currentReview.Rating = ScorePicker.SelectedIndex + 1; currentReview.Comment = CommentEntry.Text; if (AnonCheckBox.IsChecked) { currentReview.Anonymous = 1; } else { currentReview.Anonymous = 0; } EntityLoader.EditReview(currentReview); } else { LecturerReview currentReview = EntityLoader.GetUserReviewsL().Find(lr => lr.LecturerId == l.Id); if (LectOrSubPicker.SelectedIndex != -1) { currentReview.LecturerId = EntityLoader.subjects.Find(s => s.SubjectName == LectOrSubPicker.Items[LectOrSubPicker.SelectedIndex]).Id; } currentReview.Rating = ScorePicker.SelectedIndex + 1; currentReview.Comment = CommentEntry.Text; if (AnonCheckBox.IsChecked) { currentReview.Anonymous = 1; } else { currentReview.Anonymous = 0; } EntityLoader.EditReview(currentReview); } await DisplayAlert("Success", "Your review was edited successfully.", "Cool!"); OnAddReview(); await Navigation.PopAsync(); }
public UserReview(LecturerReview review) { Lecturer lecturer = EntityLoader.lecturers.Find(l => l.Id == review.LecturerId); LecSubName = lecturer.FirstName + " " + lecturer.LastName; LecSubScore = review.Rating.ToString(); Comment = review.Comment; EditCommand = new Command(OnEdit); DeleteCommand = new Command(OnDelete); }
public AddReview(Lecturer lecturer, LecturerReview review) { InitializeComponent(); var AnonLabelTapGestureRecognizer = new TapGestureRecognizer(); AnonLabelTapGestureRecognizer.Tapped += (s, e) => { AnonCheckBox.IsChecked = !AnonCheckBox.IsChecked; }; AnonLabel.GestureRecognizers.Add(AnonLabelTapGestureRecognizer); TopTextLabel.Text = "Editing your review for: " + lecturer.FirstName + " " + lecturer.LastName; if (review.SubjectId != 0) { int index = 0; foreach (Subject subject in lecturer.Subjects.Value) { LectOrSubPicker.Items.Add(subject.SubjectName); if (subject.Id == review.SubjectId) { LectOrSubPicker.SelectedIndex = index; } index++; } } else { LectOrSubPicker.Title = "(Optional) pick the subject"; foreach (Subject subject in lecturer.Subjects.Value) { LectOrSubPicker.Items.Add(subject.SubjectName); } } ScorePicker.SelectedIndex = review.Rating - 1; CommentEntry.Text = review.Comment; if (review.Anonymous == 1) { AnonCheckBox.IsChecked = true; } l = lecturer; subrev = false; Submit.Clicked -= Submit_Clicked; Submit.Clicked += SubmitEdit_Clicked; }
public async void OnEdit(object s) { UserReview current = (UserReview)s; Lecturer lect = EntityLoader.lecturers.Find(l => l.FirstName + " " + l.LastName == current.LecSubName); if (lect != null) { LecturerReview review = EntityLoader.GetUserReviewsL().Find(lr => lr.LecturerId == lect.Id); await App.Current.MainPage.Navigation.PushAsync(new AddReview(lect, review)); } else { Subject sub = EntityLoader.subjects.Find(su => su.SubjectName == current.LecSubName); SubjectReview review = EntityLoader.GetUserReviewsS().Find(sr => sr.SubjectId == sub?.Id); await App.Current.MainPage.Navigation.PushAsync(new AddReview(sub, review)); } }
async void EditReviewBtn_Clicked(object sender, EventArgs e) { if (subprof) { SubjectReview review = EntityLoader.GetUserReviewsS().Find(sr => sr.SubjectId == id); Subject subject = EntityLoader.subjects.Find(s => s.Id == id); var nextPage = new AddReview(subject, review); nextPage.AddedReview += UpdateReviewList; await Navigation.PushAsync(nextPage); } else { LecturerReview review = EntityLoader.GetUserReviewsL().Find(lr => lr.LecturerId == id); Lecturer lecturer = EntityLoader.lecturers.Find(l => l.Id == id); var nextPage = new AddReview(lecturer, review); nextPage.AddedReview += UpdateReviewList; await Navigation.PushAsync(nextPage); } }
public async void OnDelete(object s) { UserReview current = (UserReview)s; bool answer = await App.Current.MainPage.DisplayAlert("", "Are you sure you want to delete your review for " + current.LecSubName + "?", "Yes", "No"); if (answer) { Lecturer lect = EntityLoader.lecturers.Find(l => l.FirstName + " " + l.LastName == current.LecSubName); if (lect != null) { LecturerReview review = EntityLoader.GetUserReviewsL().Find(lr => lr.LecturerId == lect.Id); try { EntityLoader.DeleteReview(review); await App.Current.MainPage.Navigation.PopAsync(); } catch (Exception ex) { await App.Current.MainPage.DisplayAlert("Oh no!", ex.Message, "OK"); } } else { Subject sub = EntityLoader.subjects.Find(su => su.SubjectName == current.LecSubName); SubjectReview review = EntityLoader.GetUserReviewsS().Find(sr => sr.SubjectId == sub?.Id); try { EntityLoader.DeleteReview(review); await App.Current.MainPage.Navigation.PopAsync(); } catch (Exception ex) { await App.Current.MainPage.DisplayAlert("Oh no!", ex.Message, "OK"); } } } }
async void Submit_Clicked(object sender, EventArgs e) { if (subrev) { SubjectReview newReview = new SubjectReview { SubjectId = s.Id }; if (LectOrSubPicker.SelectedIndex != -1) { newReview.LecturerId = EntityLoader.lecturers.Find(l => { string name = l.FirstName + " " + l.LastName; return(name == LectOrSubPicker.Items[LectOrSubPicker.SelectedIndex]); }).Id; } newReview.Rating = ScorePicker.SelectedIndex + 1; newReview.UserId = ConstVars.currentUser.Id; newReview.Comment = CommentEntry.Text; if (AnonCheckBox.IsChecked) { newReview.Anonymous = 1; } else { newReview.Anonymous = 0; } EntityLoader.AddReview(newReview); } else { LecturerReview newReview = new LecturerReview { LecturerId = l.Id }; if (LectOrSubPicker.SelectedIndex != -1) { newReview.SubjectId = EntityLoader.subjects.Find(s => s.SubjectName == LectOrSubPicker.Items[LectOrSubPicker.SelectedIndex]).Id; } newReview.Rating = ScorePicker.SelectedIndex + 1; newReview.UserId = ConstVars.currentUser.Id; newReview.Comment = CommentEntry.Text; if (AnonCheckBox.IsChecked) { newReview.Anonymous = 1; } else { newReview.Anonymous = 0; } EntityLoader.AddReview(newReview); } await DisplayAlert("Success", "Your review was added.", "Cool!"); OnAddReview(); await Navigation.PopAsync(); }