public async Task <IHttpActionResult> ApproveArticle([FromBody] UsersToReview param) { foreach (string userId in param.UserIds) { ReviewedArticleView reviewedArticle = new ReviewedArticleView(); reviewedArticle.UserId = userId; reviewedArticle.ArticleId = param.Article.Id; var item = ReviewedArticleComponent.Create(reviewedArticle); param.Article.ApprovalStatus = (int)ApprovalStatus.InReview; if (item == null) { return(BadRequest("Server crashed! Review was not added")); } var userToReview = await this.AppUserManager.FindByIdAsync(userId); await this.AppUserManager.SendEmailAsync(userToReview.Id, "Article needs review!", "A new article '" + param.Article.Title + "' needs to be reviewed by you!"); } if (param.UserIds.ToArray().Length > 0) { bool rez = Component.Update(param.Article); } var user = await this.AppUserManager.FindByIdAsync(param.Article.UserId); await this.AppUserManager.SendEmailAsync(user.Id, "Article approved by editor", "Your article '" + param.Article.Title + "' was approved by the editor of the journal you applied"); return(Ok("Users added for review")); }
public IHttpActionResult AbstainReviewArticle([FromBody] ArticleView param) { string userId = User.Identity.GetUserId(); ReviewedArticleView reviewedArticle = ReviewedArticleComponent.GetReviewedArticle(userId, param.Id); if (reviewedArticle == null) { return(BadRequest("Review is not available for this user and this article")); } reviewedArticle.ReviewStatus = (int)ReviewStatus.Abstain; bool updated = ReviewedArticleComponent.Update(reviewedArticle); if (!updated) { return(BadRequest("Server crashed! Review was not updated")); } return(Ok()); }
public IHttpActionResult ApproveArticle([FromBody] ReviewArticleRequest param) { string userId = User.Identity.GetUserId(); ReviewedArticleView reviewedArticle = ReviewedArticleComponent.GetReviewedArticle(userId, param.Article.Id); if (reviewedArticle == null) { return(BadRequest("Review is not available for this user and this article")); } reviewedArticle.ReviewPoints = param.ReviewPoints; reviewedArticle.Comment = param.Comment; reviewedArticle.ReviewStatus = (int)ReviewStatus.Reviewed; bool updated = ReviewedArticleComponent.Update(reviewedArticle); int numberOfReviewed = ReviewedArticleComponent.GetNumberofReviewed(reviewedArticle); if (numberOfReviewed == 3) { bool isApproved = ReviewedArticleComponent.CheckIfApproved(reviewedArticle); if (isApproved) { param.Article.ApprovalStatus = (int)ApprovalStatus.Approved; } else { param.Article.ApprovalStatus = (int)ApprovalStatus.Rejected; } bool rez = Component.Update(param.Article); if (rez) { return(Ok()); } else { return(BadRequest("Server crashed! Article was not updated")); } } if (!updated) { return(BadRequest("Server crashed! Review was not updated")); } return(Ok()); }