private void RejectManuscriptAgain() { ManuscriptToUpdate.ManuscriptId = SelectedUnderReviewManuscript.ManuscriptId; ManuscriptToUpdate.IssueId = 3; ManuscriptToUpdate.DateAccepted = new DateTime(2099, 1, 1); ManuscriptToUpdate.ManuscriptStatus = 2; ManuscriptToUpdate.NumberOfPagesOccupied = 0; ManuscriptToUpdate.OrderInIssue = 0; ManuscriptToUpdate.BeginningPageNumber = 0; _updateManuscriptService.UpdateManuscript(ManuscriptToUpdate); MessageBox.Show($"Manuscript entitled as '{SelectedUnderReviewManuscript.ManuscriptTitle}' has been rejected.", "Success!", MessageBoxButton.OK, MessageBoxImage.Information); //Refresh DB _manuscriptService = new ListManuscriptService(_context); _issueService = new ListIssueService(_context); _reviewService = new ListReviewService(_context); var manuscripts = _manuscriptService.GetManuscriptList().ToList(); var issues = _issueService.GetIssueList().ToList(); var reviews = _reviewService.GetReviewList().ToList(); ManuscriptList = new ObservableCollection <ManuscriptListDto>(manuscripts); IssueList = new ObservableCollection <IssueListDto>(issues); ReviewList = new ObservableCollection <ReviewListDto>(reviews); //Refresh ListBox SelectedManuscriptReviewList.Clear(); foreach (var review in SelectedManuscriptReviewList) { SelectedManuscriptReviewList.Remove(review); } UnderReviewManuscriptList.Remove(SelectedUnderReviewManuscript); }
private void UpdateReview() { if (InputAppropriatenessScore == "" || InputClarityScore == "" || InputMethodologyScore == "" || InputContributionScore == "" || InputRecommendationStatus == "") { MessageBox.Show($"Please fill in all ratings.", "Error!", MessageBoxButton.OK, MessageBoxImage.Error); } else { ReviewToUpdate.AppropriatenessScore = Convert.ToInt32(InputAppropriatenessScore); ReviewToUpdate.ClarityScore = Convert.ToInt32(InputClarityScore); ReviewToUpdate.MethodologyScore = Convert.ToInt32(InputMethodologyScore); ReviewToUpdate.ContributionScore = Convert.ToInt32(InputContributionScore); ReviewToUpdate.RecommendationStatus = Convert.ToBoolean(Convert.ToInt32(InputRecommendationStatus)); foreach (var manuscript in ManuscriptList) { if (manuscript.ManuscriptId == SelectedManuscript.ManuscriptId) { foreach (var review in ReviewList) { if (review.ReviewerId == LoggedReviewer.ReviewerId && review.ManuscriptId == SelectedManuscript.ManuscriptId) { ReviewToUpdate.ReviewId = review.ReviewId; } } } } _updateReviewService.UpdateReview(ReviewToUpdate); InputAppropriatenessScore = ""; InputClarityScore = ""; InputMethodologyScore = ""; InputContributionScore = ""; InputRecommendationStatus = ""; MessageBox.Show($"Manuscript entitled as '{SelectedManuscript.ManuscriptTitle}' has been reviewed, thank you for your service!", "Success!", MessageBoxButton.OK, MessageBoxImage.Information); //Refresh DB _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); //Refresh ListBox LoggedManuscriptList.Remove(SelectedManuscript); } }
private void ScheduleManuscript() { ManuscriptToUpdate.ManuscriptId = SelectedAcceptedManuscript.ManuscriptId; ManuscriptToUpdate.IssueId = 1; // placeholder for now ManuscriptToUpdate.ManuscriptStatus = 5; ManuscriptToUpdate.NumberOfPagesOccupied = Convert.ToInt32(InputTotalPagesOccupied); ManuscriptToUpdate.OrderInIssue = Convert.ToInt32(InputOrderInIssue); ManuscriptToUpdate.BeginningPageNumber = Convert.ToInt32(InputBeginningPageNumber); _updateManuscriptService.UpdateManuscript(ManuscriptToUpdate); MessageBox.Show($"Manuscript entitled as '{SelectedAcceptedManuscript.ManuscriptTitle}' has been schduled.", "Success!", MessageBoxButton.OK, MessageBoxImage.Information); //Refresh DB _manuscriptService = new ListManuscriptService(_context); _issueService = new ListIssueService(_context); _reviewService = new ListReviewService(_context); var manuscripts = _manuscriptService.GetManuscriptList().ToList(); var issues = _issueService.GetIssueList().ToList(); var reviews = _reviewService.GetReviewList().ToList(); ManuscriptList = new ObservableCollection <ManuscriptListDto>(manuscripts); IssueList = new ObservableCollection <IssueListDto>(issues); ReviewList = new ObservableCollection <ReviewListDto>(reviews); //Refresh ListBox AcceptedManuscriptList.Remove(SelectedAcceptedManuscript); InputOrderInIssue = ""; InputTotalPagesOccupied = ""; InputBeginningPageNumber = ""; }
private void AddReview() { var selectedReviewers = FrontReviewerList.Where(c => c.IsSelected); var reviewerIdBag = new List <int>(); foreach (var dto in selectedReviewers) { reviewerIdBag.Add(dto.ReviewerId); } if (reviewerIdBag.Count >= 3) { //update manuscript ManuscriptToUpdate.ManuscriptId = SelectedReceivedManuscript.ManuscriptId; ManuscriptToUpdate.IssueId = 3; ManuscriptToUpdate.DateAccepted = new DateTime(2099, 1, 1); ManuscriptToUpdate.ManuscriptStatus = 3; ManuscriptToUpdate.NumberOfPagesOccupied = 0; ManuscriptToUpdate.OrderInIssue = 0; ManuscriptToUpdate.BeginningPageNumber = 0; _updateManuscriptService.UpdateManuscript(ManuscriptToUpdate); //add reviews ReviewToAdd.ManuscriptId = SelectedReceivedManuscript.ManuscriptId; foreach (var reviewerId in reviewerIdBag) { ReviewToAdd.ReviewerId = reviewerId; _addReviewService.AddReview(ReviewToAdd); } MessageBox.Show($"The manuscript entitled as '{SelectedReceivedManuscript.ManuscriptTitle}' has been sent for peer review.", "Success!", MessageBoxButton.OK, MessageBoxImage.Information); //Refresh DB _manuscriptService = new ListManuscriptService(_context); _issueService = new ListIssueService(_context); _reviewService = new ListReviewService(_context); var manuscripts = _manuscriptService.GetManuscriptList().ToList(); var issues = _issueService.GetIssueList().ToList(); var reviews = _reviewService.GetReviewList().ToList(); ManuscriptList = new ObservableCollection <ManuscriptListDto>(manuscripts); IssueList = new ObservableCollection <IssueListDto>(issues); ReviewList = new ObservableCollection <ReviewListDto>(reviews); //Refresh ListBox ReceivedManuscriptList.Remove(SelectedReceivedManuscript); } else { MessageBox.Show($"Please select three or more reviewers to peer review.", "Success!", MessageBoxButton.OK, MessageBoxImage.Information); } }
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(); }
public EditorViewModel(EditorListDto loggedEditor, UpdateManuscriptService updateManuscriptService, AddReviewService addReviewService, ListFrontReviewerService listFrontReviewerService) : this(new EfCoreContext()) { LoggedEditor = loggedEditor; EditorFirstName = loggedEditor.Name.Split(' ').First() + "!"; InputOrderInIssue = ""; InputTotalPagesOccupied = ""; InputBeginningPageNumber = ""; _updateManuscriptService = updateManuscriptService; _addReviewService = addReviewService; _listFrontReviewerService = listFrontReviewerService; FrontReviewerList = GetReviewerSelectionList(); ManuscriptToUpdate = new ManuscriptListDto(); ReviewToAdd = new AddReviewDto(); _manuscriptService = new ListManuscriptService(_context); _issueService = new ListIssueService(_context); _reviewService = new ListReviewService(_context); var manuscripts = _manuscriptService.GetManuscriptList().ToList(); var issues = _issueService.GetIssueList().ToList(); var reviews = _reviewService.GetReviewList().ToList(); ManuscriptList = new ObservableCollection <ManuscriptListDto>(manuscripts); IssueList = new ObservableCollection <IssueListDto>(issues); ReviewList = new ObservableCollection <ReviewListDto>(reviews); foreach (var manuscript in ManuscriptList) { if (manuscript.ManuscriptStatus == 1) { ReceivedManuscriptList.Add(manuscript); } if (manuscript.ManuscriptStatus == 3) { foreach (var review in ReviewList) { if (review.ManuscriptId == manuscript.ManuscriptId && review.AppropriatenessScore != 0 && UnderReviewManuscriptList.Contains(manuscript) != true) { UnderReviewManuscriptList.Add(manuscript); } } } if (manuscript.ManuscriptStatus == 4) { AcceptedManuscriptList.Add(manuscript); } } }
private void SendManuscript() { if (InputManuscriptTitle == "") { MessageBox.Show($"Please enter a title for the manuscript.", "Error!", MessageBoxButton.OK, MessageBoxImage.Error); } else { var messageManuscriptTitle = InputManuscriptTitle; var la = new AuthorManuscriptSelectionViewDto() { AuthorId = LoggedAuthor.AuthorId, IsSelected = true, }; FrontAuthorList.Add(la); var selectedAuthors = FrontAuthorList.Where(c => c.IsSelected); foreach (var dto in selectedAuthors) { ManuscriptToAdd.AuthorsId.Add(dto.AuthorId); } FrontAuthorList.RemoveAt(FrontAuthorList.Count - 1); ManuscriptToAdd.ManuscriptTitle = InputManuscriptTitle; _addMultipleManuscriptService.AddMultipleManuscript(ManuscriptToAdd); InputManuscriptTitle = ""; MessageBox.Show($"Manuscript entitled as '{messageManuscriptTitle}' has been sent and will be reviewed by the editors and peer reviewers as soon as possible, stay tuned!", "Success!", MessageBoxButton.OK, MessageBoxImage.Information); // Refresh DB _manuscriptService = new ListManuscriptService(_context); _notificationService = new ListNotificationService(_context); _authorManuscriptService = new ListAuthorManuscriptService(_context); var manuscripts = _manuscriptService.GetManuscriptList().ToList(); var notifications = _notificationService.GetNotificationList().ToList(); var authorManuscripts = _authorManuscriptService.GetAuthorManuscriptList().ToList(); ManuscriptList = new ObservableCollection <ManuscriptListDto>(manuscripts); NotificationList = new ObservableCollection <NotificationListDto>(notifications); AuthorManuscriptList = new ObservableCollection <AuthorManuscriptListDto>(authorManuscripts); //Refresh ListBox var latestManuscript = ManuscriptList.Last(); latestManuscript.ManuscriptTitle = LoggedManuscriptList.Count + 1 + ". " + latestManuscript.ManuscriptTitle; LoggedManuscriptList.Add(latestManuscript); } }
public AddAuthorViewModel(AddAuthorService addAuthorService, AddSingleManuscriptService addSingleManuscriptService) : this(new EfCoreContext()) { InputName = ""; InputMailingAddress = ""; InputEmailAddress = ""; InputAffiliation = ""; InputUsername = ""; InputPassword = ""; InputManuscriptTitle = ""; _addAuthorService = addAuthorService; _addSingleManuscriptService = addSingleManuscriptService; AuthorToAdd = new AddAuthorDto { Name = "", MailingAddress = "", EmailAddress = "", Affiliation = "", Username = "", Password = "", }; ManuscriptToAdd = new AddSingleManuscriptDto { EditorId = 1, ManuscriptTitle = "", DateReceived = DateTime.Now, ManuscriptStatus = 1, }; _listManuscriptService = new ListManuscriptService(_context); var manuscripts = _listManuscriptService.GetManuscriptList().ToList(); ManuscriptList = new ObservableCollection <ManuscriptListDto>(manuscripts); }
public AuthorViewModel(AuthorListDto loggedAuthor, AddMultipleManuscriptService addMultipleManuscriptService, ListFrontAuthorService listFrontAuthorService) : this(new EfCoreContext()) { InputManuscriptTitle = ""; LoggedAuthor = loggedAuthor; AuthorFirstName = loggedAuthor.Name.Split(' ').First() + "!"; _addMultipleManuscriptService = addMultipleManuscriptService; _listFrontAuthorService = listFrontAuthorService; ManuscriptToAdd = new AddMultipleManuscriptDto { ManuscriptTitle = "", }; _manuscriptService = new ListManuscriptService(_context); _notificationService = new ListNotificationService(_context); _authorManuscriptService = new ListAuthorManuscriptService(_context); var manuscripts = _manuscriptService.GetManuscriptList().ToList(); var notifications = _notificationService.GetNotificationList().ToList(); var authorManuscripts = _authorManuscriptService.GetAuthorManuscriptList().ToList(); ManuscriptList = new ObservableCollection <ManuscriptListDto>(manuscripts); NotificationList = new ObservableCollection <NotificationListDto>(notifications); AuthorManuscriptList = new ObservableCollection <AuthorManuscriptListDto>(authorManuscripts); var notificationCounter = 1; foreach (var notification in NotificationList) { if (loggedAuthor.AuthorId == notification.AuthorId) { notification.Message = notificationCounter + ". " + notification.Message; notificationCounter++; LoggedNotificationList.Add(notification); } } notificationCounter = 0; var manuscriptCounter = 1; var manuscriptIdBag = new List <int>(); foreach (var authorManuscript in AuthorManuscriptList) { if (authorManuscript.AuthorId == loggedAuthor.AuthorId) { manuscriptIdBag.Add(authorManuscript.ManuscriptId); } } foreach (var manuscript in manuscriptIdBag) { foreach (var parentManuscript in ManuscriptList) { if (manuscript == parentManuscript.ManuscriptId) { parentManuscript.ManuscriptTitle = manuscriptCounter + ". " + parentManuscript.ManuscriptTitle; manuscriptCounter++; LoggedManuscriptList.Add(parentManuscript); } } } manuscriptIdBag.Clear(); manuscriptCounter = 0; FrontAuthorList = GetAuthorSelectionList(); }