public IActionResult GetRejectedSubmission(RejectedSubmissionGridSearchModel model) { if (User.IsInRole(RoleName.SectionEditor)) { return(Ok(HttpContext.RequestServices.GetService <ISubmissionService>().GetRejectedSubmissions(TenantID, model, ((JMSPrincipal)User).ApplicationUser.Id))); } return(Ok(HttpContext.RequestServices.GetService <ISubmissionService>().GetRejectedSubmissions(TenantID, model))); }
public RejectedSubmissionGridModel GetRejectedSubmissions(string journalPath, RejectedSubmissionGridSearchModel model, long?editerID = null) { var context = _serviceProvider.GetService <ApplicationDbContext>(); var statuses = new SubmissionStatus[] { SubmissionStatus.Submission, SubmissionStatus.Review }; var dbSubmission = context.Submission.Where(x => x.User.Tenant.JournalPath == journalPath && x.SubmissionStatus == SubmissionStatus.Rejected); if (editerID.HasValue) { dbSubmission = dbSubmission.Where(x => x.EditorId == editerID); } var submissions = dbSubmission.Select(x => new { x.User.FirstName, x.User.LastName, x.UpdatedDate, x.Prefix, x.SubmissionStatus, SubmissionID = x.Id, x.Subtitle, x.Title }); if (!string.IsNullOrEmpty(model.SrchText)) { submissions = submissions.Where(x => EF.Functions.ILike(x.Subtitle, $"%{model.SrchText}%") || EF.Functions.ILike(x.Title, $"%{model.SrchText}%") || EF.Functions.ILike(x.Prefix, $"%{model.SrchText}%")); } if (!string.IsNullOrEmpty(model.Author)) { submissions = submissions.Where(x => EF.Functions.ILike(x.FirstName + " " + x.LastName, $"%{model.Author}%")); } if (string.IsNullOrEmpty(model.sortOrder) || model.sortOrder == "desc") { submissions = submissions.OrderByDescending(x => x.UpdatedDate); } else { submissions = submissions.OrderBy(x => x.UpdatedDate); } return(new RejectedSubmissionGridModel { ItemsCount = submissions.Count(), Data = submissions.Skip((model.pageIndex - 1) * model.pageSize).Take(model.pageSize).ToList().Select(x => new RejectedSubmissionGridRowModel { FirstName = x.FirstName, LastName = x.LastName, LastUpdated = x.UpdatedDate.ToString("dd MMM yyyy"), Prefix = x.Prefix, SubmissionID = x.SubmissionID, SubTitle = x.Subtitle, Title = x.Title }) }); }