Пример #1
0
        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();
        }
Пример #2
0
        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);
        }
Пример #3
0
        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;
        }
Пример #4
0
        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));
            }
        }
Пример #5
0
 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);
     }
 }
Пример #6
0
        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");
                    }
                }
            }
        }
Пример #7
0
        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();
        }