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();
        }
Пример #2
0
        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);
            }
        }