public ReviewerViewModel(ReviewerListDto loggedReviewer, UpdateReviewService updateReviewService) : this(new EfCoreContext()) { LoggedReviewer = loggedReviewer; ReviewerFirstName = loggedReviewer.Name.Split(' ').First() + "!"; InputAppropriatenessScore = ""; InputClarityScore = ""; InputMethodologyScore = ""; InputContributionScore = ""; InputRecommendationStatus = ""; _updateReviewService = updateReviewService; ReviewToUpdate = new ReviewListDto { AppropriatenessScore = 0, ClarityScore = 0, MethodologyScore = 0, ContributionScore = 0, DateReviewed = DateTime.Now, }; _manuscriptService = new ListManuscriptService(_context); _reviewerService = new ListReviewerService(_context); _reviewService = new ListReviewService(_context); var manuscripts = _manuscriptService.GetManuscriptList().ToList(); var reviewers = _reviewerService.GetReviewerList().ToList(); var reviews = _reviewService.GetReviewList().ToList(); ManuscriptList = new ObservableCollection <ManuscriptListDto>(manuscripts); ReviewerList = new ObservableCollection <ReviewerListDto>(reviewers); ReviewList = new ObservableCollection <ReviewListDto>(reviews); var manuscriptIdBag = new List <int>(); foreach (var review in ReviewList) { if (review.ReviewerId == loggedReviewer.ReviewerId && review.AppropriatenessScore == 0) { manuscriptIdBag.Add(review.ManuscriptId); } } foreach (var manuscript in manuscriptIdBag) { foreach (var parentManuscript in ManuscriptList) { if (manuscript == parentManuscript.ManuscriptId) { LoggedManuscriptList.Add(parentManuscript); } } } manuscriptIdBag.Clear(); }
private void Login() { bool accountFound = false; foreach (var editor in EditorList) { if (editor.Username == InputUsername && editor.Password == ComputeSha256Hash(InputPassword)) { accountFound = true; LoggedEditor = editor; break; } } foreach (var reviewer in ReviewerList) { if (reviewer.Username == InputUsername && reviewer.Password == ComputeSha256Hash(InputPassword)) { accountFound = true; LoggedReviewer = reviewer; break; } } foreach (var author in AuthorList) { if (author.Username == InputUsername && author.Password == ComputeSha256Hash(InputPassword)) { accountFound = true; LoggedAuthor = author; break; } } if (accountFound) { if (LoggedAuthor != null) { InputPassword = ""; InputUsername = ""; _authorViewWindow = new AuthorViewWindow(); _authorViewWindow.Owner = Application.Current.MainWindow; _authorViewWindow.DataContext = new AuthorViewModel(LoggedAuthor, new AddMultipleManuscriptService(_context), new ListFrontAuthorService(_context)); _authorViewWindow.ShowDialog(); LoggedAuthor = null; } else if (LoggedEditor != null) { InputPassword = ""; InputUsername = ""; _editorViewWindow = new EditorViewWindow(); _editorViewWindow.Owner = Application.Current.MainWindow; _editorViewWindow.DataContext = new EditorViewModel(LoggedEditor, new UpdateManuscriptService(_context), new AddReviewService(_context), new ListFrontReviewerService(_context)); _editorViewWindow.ShowDialog(); LoggedEditor = null; } else if (LoggedReviewer != null) { InputPassword = ""; InputUsername = ""; _reviewerViewWindow = new ReviewerViewWindow(); _reviewerViewWindow.Owner = Application.Current.MainWindow; _reviewerViewWindow.DataContext = new ReviewerViewModel(LoggedReviewer, new UpdateReviewService(_context)); _reviewerViewWindow.ShowDialog(); LoggedReviewer = null; } } else { MessageBox.Show($"Account does not exist or inputted password is wrong.", "Error!", MessageBoxButton.OK, MessageBoxImage.Error); } }