コード例 #1
0
        public ActionResult Create([Bind(Include = "ID, StudentID, ReceivedDate")] Manuscript manuscript, HttpPostedFileBase upload)
        {
            if (ModelState.IsValid)
            {
                Student student = db.Students.Find(manuscript.StudentID);

                if (upload != null & upload.ContentLength > 0)
                {
                    var manuscriptFile = new File
                    {
                        FileName    = System.IO.Path.GetFileName(upload.FileName),
                        FileType    = FileType.Manuscript,
                        ContentType = upload.ContentType,
                        Manuscript  = manuscript
                    };
                    using (var reader = new System.IO.BinaryReader(upload.InputStream))
                    {
                        manuscriptFile.Content = reader.ReadBytes(upload.ContentLength);
                    }
                    manuscript.Files = new List <File> {
                        manuscriptFile
                    };

                    //student.Files = new List<File> { manuscriptFile };
                }

                db.Manuscripts.Add(manuscript);
                db.SaveChanges();
                return(RedirectToAction("Index", "Graduation", new { id = student.Id }));
            }
            ViewBag.Student   = manuscript.Student;
            ViewBag.StudentID = manuscript.StudentID;
            return(View(manuscript));
        }
        public IActionResult changecorrepondingauthor(int id)
        {
            var        ArticleAuthorship = _context.ArticleAuthorships.SingleOrDefault(a => a.Id == id);
            Manuscript manuscript        = _context.Manuscripts.Include(a => a.Journal).SingleOrDefault(m => m.Id == ArticleAuthorship.ManuscriptId);

            if (manuscript == null)
            {
                return(NotFound());
            }
            manuscript.CorrespondingAuthorId = ArticleAuthorship.AuthorUserId;
            _context.Update(manuscript);
            _context.SaveChanges();

            //==========================================================================

            EmailContent Reviewercontent = _context.EmailContents.Where(m => m.UniqueName.ToString() == "6a761361-e63c-47b6-a409-a0b7f4cb0971").SingleOrDefault();

            StringBuilder MyStringBuilder = new StringBuilder("<h2 align='right'>اسم المجلة : ");

            MyStringBuilder.Append(manuscript.Journal.ArName);
            MyStringBuilder.Append("</h2>");
            MyStringBuilder.Append("<br/>");
            MyStringBuilder.AppendFormat(string.Format("<h3 align ='center'><a href='https://portal.arid.my/ar-LY/Manuscripts/Edit/{0}' >", manuscript.Id));
            MyStringBuilder.Append("اضغط هنا للاطلاع على تفاصيل البحث");
            MyStringBuilder.Append("</a></h3><hr/>");

            BackgroundJob.Schedule(() => _emailSender.SendEmailAsync(ArticleAuthorship.Email, Reviewercontent.ArSubject, Reviewercontent.ArContent + MyStringBuilder.ToString()), TimeSpan.FromSeconds(10));

            //==========================================================================

            return(RedirectToAction("Details", "Journals", new { /* routeValues, for example: */ id = manuscript.JournalId }));
        }
コード例 #3
0
        public Guid New(Guid projectId)
        {
            var newManuscript   = new Manuscript();
            var newManuscriptId = _manuscriptService.Add(newManuscript, projectId, this.CurrentUser.Id);

            return(newManuscriptId);
        }
コード例 #4
0
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            File file = db.Files.Find(id);

            Manuscript manuscript = file.Manuscript;

            if (manuscript == null)
            {
                return(HttpNotFound());
            }

            Student student = manuscript.Student;

            ViewBag.Student      = student;
            ViewBag.StudentID    = student.Id;
            ViewBag.FileID       = id;
            ViewBag.FileName     = db.Files.Find(id).FileName;
            ViewBag.File         = db.Files.Find(id);
            ViewBag.ManuscriptID = manuscript.ID;
            return(View(manuscript));
        }
コード例 #5
0
        public static int GetWordCount(this Manuscript manuscript, IEnumerable <string> wordsToIgnore)
        {
            var relevantWords   = GetRelevantWords(manuscript.Sentences);
            var nonIgnoredWords = RemoveIgnoredWords(relevantWords, wordsToIgnore);

            return(nonIgnoredWords.Count());
        }
コード例 #6
0
        public void GetWordCount_GivenManuscript_ShouldReturnWordCount(Manuscript manuscript, int expected)
        {
            var wordsToIgnore = new[] { "dein" };
            var actual        = ManuscriptExtensions.GetWordCount(manuscript, wordsToIgnore);

            actual.Should().Be(expected);
        }
コード例 #7
0
        public static double GetAverageWordLength(this Manuscript manuscript)
        {
            var    relevantWords     = GetRelevantWords(manuscript.Sentences);
            double totalWordLength   = GetTotalWordLength(relevantWords);
            var    averageWordLength = GetAverageWordLength(relevantWords, totalWordLength);

            return(FormatNumber(averageWordLength));
        }
コード例 #8
0
        public static double GetAverageSentenceLength(this Manuscript manuscript)
        {
            var    textWithReplacedLineBreaks = ReplaceLineBreaksWithWhiteSpace(manuscript.OriginalText);
            double totalTextLength            = textWithReplacedLineBreaks.Length;
            var    sentenceCount         = manuscript.Sentences.Count();
            var    averageSentenceLength = GetAverageSentenceLength(totalTextLength, sentenceCount);

            return(FormatNumber(averageSentenceLength));
        }
コード例 #9
0
        public void RepositoryCanInsert()
        {
            var currentCount = this.SystemUnderTest.GetAll().Count();
            var manuscript   = new Manuscript();

            this.SystemUnderTest.Insert(manuscript);
            var newCount = this.SystemUnderTest.GetAll().Count();

            Assert.True(newCount == currentCount + 1);
        }
コード例 #10
0
        public void RepositoryCanUpdate()
        {
            var manuscript = new Manuscript();

            this.SystemUnderTest.Insert(manuscript);
            var newMan = new Manuscript {
                Id = manuscript.Id, Title = "New Title"
            };

            this.SystemUnderTest.Update(newMan);
            Assert.True(this.SystemUnderTest.Get(manuscript.Id).Title == "New Title");
        }
コード例 #11
0
        public ActionResult DeleteConfirmed(int id)
        {
            File       file       = db.Files.Find(id);
            Manuscript manuscript = db.Manuscripts.Find(file.ManuscriptId);
            Graduation graduation = db.Graduations.Find(manuscript.Student.Graduation.FirstOrDefault().ID);

            db.Manuscripts.Remove(manuscript);
            db.Files.Remove(file);
            db.SaveChanges();
            TempData["msg"] = "<script>alert('This manuscript has been successfully deleted.')</script>";
            return(RedirectToAction("Edit", "Graduation", new { id = graduation.ID }));
        }
コード例 #12
0
ファイル: ManuscriptService.cs プロジェクト: jwynia/StoryMark
 Manuscript IManuscriptService.Update(Manuscript input, Guid personId)
 {
     using (var session = _sessionFactory.OpenSession())
     {
         using (var transaction = session.BeginTransaction())
         {
             session.Update(input);
             transaction.Commit();
             var savedManuscript = session.Query <Manuscript>().First(x => x.Id == input.Id);
             return(savedManuscript);
         }
     }
 }
コード例 #13
0
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Manuscript manuscript = db.Manuscripts.Find(id);

            if (manuscript == null)
            {
                return(HttpNotFound());
            }
            return(View(manuscript));
        }
コード例 #14
0
        public IActionResult Reviewsubmit(int id)
        {
            SubmissionReviewer submissionreviewer = _context.SubmissionReviewers.Include(a => a.Submission.AE.ApplicationUser).Include(a => a.ReviewerUser).Include(a => a.Submission).Include(a => a.Submission.Manuscript).SingleOrDefault(m => m.Id == id);
            Manuscript         manuscript         = _context.Manuscripts.Include(a => a.Journal).SingleOrDefault(a => a.Id == submissionreviewer.Submission.ManuscriptId);

            if (submissionreviewer == null)
            {
                return(NotFound());
            }
            submissionreviewer.IsAccess   = false;
            submissionreviewer.ReviewDate = DateTime.Now;;
            _context.Update(manuscript);
            _context.Update(submissionreviewer);
            _context.SaveChanges();


            //---------------------------------------------------------------------------
            EmailContent eicandaecontent = _context.EmailContents.Where(m => m.UniqueName.ToString() == "8569cfab-f7a8-49a6-9f35-2e9148915f1f").SingleOrDefault();

            StringBuilder MyStringBuilder = new StringBuilder("<h2 align='right'>اسم المجلة : ");

            MyStringBuilder.Append(manuscript.Journal.ArName);
            MyStringBuilder.Append("</h2>");
            MyStringBuilder.Append("<h2 align='right'>المحكم : ");
            MyStringBuilder.Append(submissionreviewer.ReviewerUser.ArName);
            MyStringBuilder.Append("</h2>");
            MyStringBuilder.Append("<h2 align='right'>تاريخ تسليم التحكيم : ");
            MyStringBuilder.Append(submissionreviewer.ReviewDate);
            MyStringBuilder.Append("</h2>");
            MyStringBuilder.Append("<br/>");
            MyStringBuilder.AppendFormat(string.Format("<h3 align ='center'><a href='https://portal.arid.my/ar-LY/Manuscripts/Details/{0}' >", manuscript.Id));
            MyStringBuilder.Append("اضغط هنا للاطلاع على تفاصيل البحث");
            MyStringBuilder.Append("</a></h3><hr/>");

            var eic = _context.ApplicationUsers.SingleOrDefault(a => a.Id == manuscript.Journal.EiCId);

            BackgroundJob.Schedule(() => _emailSender.SendEmailAsync(eic.Email, eicandaecontent.ArSubject, eicandaecontent.ArContent + MyStringBuilder.ToString()), TimeSpan.FromSeconds(10));
            if (submissionreviewer.Submission.AE != null)
            {
                BackgroundJob.Schedule(() => _emailSender.SendEmailAsync(submissionreviewer.Submission.AE.ApplicationUser.Email, eicandaecontent.ArSubject, eicandaecontent.ArContent + MyStringBuilder.ToString()), TimeSpan.FromSeconds(10));
            }

            //-----------------------------------------------------------------------------------------


            return(RedirectToAction("Details", "Manuscripts", new { /* routeValues, for example: */ id = submissionreviewer.Submission.ManuscriptId }));
        }
コード例 #15
0
        public IActionResult ReviewerAgree(int id)
        {
            SubmissionReviewer submissionreviewer = _context.SubmissionReviewers.Include(a => a.Submission.AE.ApplicationUser).Include(a => a.ReviewerUser).Include(a => a.Submission).SingleOrDefault(m => m.Id == id);
            Manuscript         manuscript         = _context.Manuscripts.Include(a => a.Journal).SingleOrDefault(a => a.Id == submissionreviewer.Submission.ManuscriptId);

            if (submissionreviewer == null)
            {
                return(NotFound());
            }
            manuscript.CurrentStatus = ManuscriptCurrentStatus.UnderReview;
            submissionreviewer.ReviewerDecisionToReview = ReviewerDecisionToReview.AcceptedToReview;
            submissionreviewer.DecisionDate             = DateTime.Now;
            _context.Update(submissionreviewer);
            _context.Update(manuscript);
            _context.SaveChanges();


            //---------------------------------------------------------------------------
            EmailContent eicandaecontent = _context.EmailContents.Where(m => m.UniqueName.ToString() == "d74c8bda-b196-4595-bf2e-85c8b2f48fc0").SingleOrDefault();

            StringBuilder MyStringBuilder = new StringBuilder("<h2 align='right'>اسم المجلة : ");

            MyStringBuilder.Append(manuscript.Journal.ArName);
            MyStringBuilder.Append("</h2>");
            MyStringBuilder.Append("<h2 align='right'>المحكم : ");
            MyStringBuilder.Append(submissionreviewer.ReviewerUser.ArName);
            MyStringBuilder.Append("</h2>");
            MyStringBuilder.Append("<h2 align='right'>تاريخ الموافقة على التحكيم : ");
            MyStringBuilder.Append(DateTime.Now);
            MyStringBuilder.Append("</h2>");
            MyStringBuilder.Append("<br/>");
            MyStringBuilder.AppendFormat(string.Format("<h3 align ='center'><a href='https://portal.arid.my/ar-LY/Manuscripts/Details/{0}' >", manuscript.Id));
            MyStringBuilder.Append("اضغط هنا للاطلاع على تفاصيل البحث");
            MyStringBuilder.Append("</a></h3><hr/>");

            var eic = _context.ApplicationUsers.SingleOrDefault(a => a.Id == manuscript.Journal.EiCId);

            BackgroundJob.Schedule(() => _emailSender.SendEmailAsync(eic.Email, eicandaecontent.ArSubject, eicandaecontent.ArContent + MyStringBuilder.ToString()), TimeSpan.FromSeconds(10));
            if (submissionreviewer.Submission.AEId != null)
            {
                BackgroundJob.Schedule(() => _emailSender.SendEmailAsync(submissionreviewer.Submission.AE.ApplicationUser.Email, eicandaecontent.ArSubject, eicandaecontent.ArContent + MyStringBuilder.ToString()), TimeSpan.FromSeconds(10));
            }
            //-----------------------------------------------------------------------------------------


            return(RedirectToAction("Details", "Manuscripts", new { /* routeValues, for example: */ id = submissionreviewer.Submission.ManuscriptId }));
        }
コード例 #16
0
        private ComprehensibilityIndexDto CalculateComprehensibilityIndex(Manuscript manuscript, IEnumerable <string> wordsToIgnore)
        {
            var averageWordLength     = manuscript.GetAverageWordLength();
            var averageSentenceLength = manuscript.GetAverageSentenceLength();
            var wordCount             = manuscript.GetWordCount(wordsToIgnore);

            var comprehensibility = Calculator.CalculateComprehensibility(
                averageSentenceLength,
                averageWordLength,
                wordCount);

            return(new ComprehensibilityIndexDto(
                       averageSentenceLength,
                       averageWordLength,
                       wordCount,
                       comprehensibility));
        }
コード例 #17
0
ファイル: ManuscriptService.cs プロジェクト: jwynia/StoryMark
 Guid IManuscriptService.Add(Manuscript newManuscript, Guid projectId, Guid personId)
 {
     using (var session = _sessionFactory.OpenSession())
     {
         using (var transaction = session.BeginTransaction())
         {
             var project = session.Query <Project>().Fetch(x => x.Owner).First(x => x.Id == projectId && x.Owner.Id == personId);
             newManuscript.Title   = project.Title + " Manuscript";
             newManuscript.Project = project;
             var manuscriptId = session.Save(newManuscript) as Guid?;
             project.Manuscript = newManuscript;
             session.Update(project);
             transaction.Commit();
             return((Guid)manuscriptId);
         }
     }
 }
コード例 #18
0
 public ActionResult Edit(Manuscript manuscript)
 {
     try
     {
         if (ModelState.IsValid)
         {
             //string conString = "data source=192.168.84.149;initial catalog=dbTransferDeskService;user id=sa;password=admin@123;MultipleActiveResultSets=True;App=EntityFramework";
             //this._manuscriptRepository = new ManuscriptRepository(conString);
             //_manuscriptRepository.UpdateManuscript(manuscript);
             //_manuscriptRepository.SaveChanges();
             return(RedirectToAction("Index"));
         }
     }
     catch (Exception ex)
     {
         ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists see your system administrator. [exception] " + ex.Message);
     }
     return(View(manuscript));
 }
コード例 #19
0
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                TempData["msg"] = "<script>alert('Sorry! No record found to delete.')</script>";
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            File       file       = db.Files.Find(id);
            Manuscript manuscript = db.Manuscripts.Find(file.ManuscriptId);

            if (manuscript == null)
            {
                TempData["msg"] = "<script>alert('Sorry! No record found to delete.')</script>";
                return(HttpNotFound());
            }
            int sendId = (int)id;

            return(DeleteConfirmed(sendId));
        }
コード例 #20
0
        public ActionResult Edit([Bind(Include = "ID, StudentID, ReceivedDate")] Manuscript manuscript, HttpPostedFileBase upload)
        {
            if (ModelState.IsValid)
            {
                Student student = db.Students.Find(manuscript.StudentID);
                File    file    = db.Files.Where(f => f.Manuscript.ID == manuscript.ID).FirstOrDefault();

                if (upload != null && upload.ContentLength > 0)
                {
                    if (file != null)
                    {
                        db.Files.Remove(file);
                        db.Entry(file).State       = EntityState.Deleted;
                        db.Entry(manuscript).State = EntityState.Modified;
                    }
                    var manuscriptFile = new File
                    {
                        FileName    = System.IO.Path.GetFileName(upload.FileName),
                        FileType    = FileType.Manuscript,
                        ContentType = upload.ContentType,
                        Manuscript  = manuscript
                    };

                    using (var reader = new System.IO.BinaryReader(upload.InputStream))
                    {
                        manuscriptFile.Content = reader.ReadBytes(upload.ContentLength);
                    }
                    manuscript.Files = new List <File> {
                        manuscriptFile
                    };
                    // student.Files.Add(manuscriptFile);
                    db.Entry(student).State = EntityState.Modified;
                }
                manuscript.Student         = student;
                db.Entry(manuscript).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index", "Graduation", new { id = manuscript.StudentID }));
            }
            ViewBag.Student   = manuscript.Student;
            ViewBag.StudentID = manuscript.StudentID;
            return(View(manuscript));
        }
コード例 #21
0
        public Manuscript AddSingleManuscript(AddSingleManuscriptDto dto)
        {
            Random rnd           = new Random();
            var    newManuscript = new Manuscript
            {
                EditorId              = dto.EditorId,
                IssueId               = 3,
                ManuscriptTitle       = dto.ManuscriptTitle,
                DateReceived          = dto.DateReceived,
                DateAccepted          = new DateTime(2099, 1, 1),
                ManuscriptStatus      = dto.ManuscriptStatus,
                NumberOfPagesOccupied = 0,
                OrderInIssue          = 0,
                BeginningPageNumber   = 0
            };

            _context.Manuscripts.Add(newManuscript);
            _context.SaveChanges();
            return(newManuscript);
        }
コード例 #22
0
        public async Task <IActionResult> SentBackToAuthor(int id, [Bind("Id,ManuscriptId,AEId,DateOfSubmission,ResponsetoDecision,EICDecision,SubmissionStatus,DecisionDate,EicDecisionText,DecisionLetter,PlagiarismConfirmation,DuplicateSubmissionConfirmation,CoverLetter,AEDecision,AEDecisionDate,AEDecisionText")] Submission submission)
        {
            if (id != submission.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(submission);
                    await _context.SaveChangesAsync();

                    Manuscript manuscript = _context.Manuscripts.SingleOrDefault(m => m.Id == submission.ManuscriptId);
                    if (manuscript == null)
                    {
                        return(NotFound());
                    }
                    manuscript.CurrentStatus = ManuscriptCurrentStatus.SubmissionSentBackToAuthor;
                    _context.Update(manuscript);
                    _context.SaveChanges();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!SubmissionExists(submission.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction("Details", "Manuscripts", new { /* routeValues, for example: */ id = submission.ManuscriptId }));
            }
            ViewData["AEId"]         = new SelectList(_context.AreaEditors, "Id", "Description", submission.AEId);
            ViewData["ManuscriptId"] = new SelectList(_context.Manuscripts, "Id", "ArAbstract", submission.ManuscriptId);
            return(View(submission));
        }
コード例 #23
0
        public Manuscript AddMultipleManuscript(AddMultipleManuscriptDto dto)
        {
            Random rnd = new Random();
            var    newMultipleManuscript = new Manuscript
            {
                EditorId              = rnd.Next(1, 6),
                IssueId               = 3,
                ManuscriptTitle       = dto.ManuscriptTitle,
                DateReceived          = DateTime.Now,
                DateAccepted          = new DateTime(2099, 1, 1),
                ManuscriptStatus      = 1,
                NumberOfPagesOccupied = 0,
                OrderInIssue          = 0,
                BeginningPageNumber   = 0
            };

            _context.Manuscripts.Add(newMultipleManuscript);

            newMultipleManuscript.AuthorManuscripts = new List <AuthorManuscript>();
            var authorOrder = 1;

            foreach (var i in dto.AuthorsId)
            {
                var authorManuscript = new AuthorManuscript
                {
                    ManuscriptId = newMultipleManuscript.ManuscriptId,
                    AuthorId     = i,
                    AuthorOrder  = authorOrder,
                };
                authorOrder++;
                newMultipleManuscript.AuthorManuscripts.Add(authorManuscript);
            }

            _context.SaveChanges();
            return(newMultipleManuscript);
        }
コード例 #24
0
        public async Task <IActionResult> EICDecision(int id, [Bind("Id,ManuscriptId,AEId,DateOfSubmission,ResponsetoDecision,EICDecision,SubmissionStatus,DecisionDate,EicDecisionText,DecisionLetter,PlagiarismConfirmation,DuplicateSubmissionConfirmation,CoverLetter,AEDecision,AEDecisionDate,AEDecisionText")] Submission submission)
        {
            if (id != submission.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    submission.DecisionDate = DateTime.Now;
                    _context.Update(submission);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!SubmissionExists(submission.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }

                //===============================================================
                Manuscript   manuscript                = _context.Manuscripts.Include(a => a.Journal).Include(a => a.CorrespondingAuthor).SingleOrDefault(a => a.Id == submission.ManuscriptId);
                var          ae                        = _context.AreaEditors.Include(a => a.ApplicationUser).SingleOrDefault(a => a.Id == submission.AEId);
                EmailContent acceptcontent             = _context.EmailContents.Where(m => m.UniqueName.ToString() == "8050076f-5efb-4b4d-b6ca-6f0b1abe6df6").SingleOrDefault();
                EmailContent needrevisiontcontent      = _context.EmailContents.Where(m => m.UniqueName.ToString() == "3e88b5a0-5c7d-4ca6-9f89-bfb321279ac7").SingleOrDefault();
                EmailContent RejectWithResubmitcontent = _context.EmailContents.Where(m => m.UniqueName.ToString() == "036d72f3-ee23-49bd-b7eb-bccc6f8abdf8").SingleOrDefault();
                EmailContent Rejectcontent             = _context.EmailContents.Where(m => m.UniqueName.ToString() == "aea536a2-80a8-4fc2-b69c-e63ec93c5ffc").SingleOrDefault();
                EmailContent RejectWithAppealcontent   = _context.EmailContents.Where(m => m.UniqueName.ToString() == "27ca16e0-30cf-42dc-a4a0-7094860bc20f").SingleOrDefault();
                EmailContent RejectTransfercontent     = _context.EmailContents.Where(m => m.UniqueName.ToString() == "15536cf5-7a99-4e8a-b839-822a8d30d0ce").SingleOrDefault();

                StringBuilder MyStringBuilder = new StringBuilder("<h2 align='right'>اسم المجلة : ");
                MyStringBuilder.Append(manuscript.Journal.ArName);
                MyStringBuilder.Append("</h2>");
                MyStringBuilder.Append("<br/>");
                MyStringBuilder.AppendFormat(string.Format("<h3 align ='center'><a href='https://portal.arid.my/ar-LY/Manuscripts/Details/{0}' >", submission.ManuscriptId));
                MyStringBuilder.Append("اضغط هنا للاطلاع على تفاصيل البحث");
                MyStringBuilder.Append("</a></h3><hr/>");
                //Accept
                if (submission.EICDecision.ToString() == "Accept")
                {
                    manuscript.CurrentStatus = ManuscriptCurrentStatus.Published;
                    _context.Update(manuscript);
                    _context.SaveChanges();
                    BackgroundJob.Schedule(() => _emailSender.SendEmailAsync(manuscript.CorrespondingAuthor.Email, acceptcontent.ArSubject, acceptcontent.ArContent + MyStringBuilder.ToString()), TimeSpan.FromSeconds(10));
                }
                //Minor-major-LanguageEditing
                if (submission.EICDecision.ToString() == "Minor" || submission.EICDecision.ToString() == "Major" || submission.EICDecision.ToString() == "ReviseForLanguageEditing")
                {
                    manuscript.CurrentStatus = ManuscriptCurrentStatus.SubmissionsNeedingRevision;
                    _context.Update(manuscript);
                    _context.SaveChanges();
                    BackgroundJob.Schedule(() => _emailSender.SendEmailAsync(manuscript.CorrespondingAuthor.Email, needrevisiontcontent.ArSubject, needrevisiontcontent.ArContent + MyStringBuilder.ToString()), TimeSpan.FromSeconds(10));
                }
                //RejectWithResubmit
                if (submission.EICDecision.ToString() == "RejectWithResubmit")
                {
                    manuscript.CurrentStatus = ManuscriptCurrentStatus.SubmissionSentBackToAuthor;
                    _context.Update(manuscript);
                    _context.SaveChanges();
                    BackgroundJob.Schedule(() => _emailSender.SendEmailAsync(manuscript.CorrespondingAuthor.Email, RejectWithResubmitcontent.ArSubject, RejectWithResubmitcontent.ArContent + MyStringBuilder.ToString()), TimeSpan.FromSeconds(10));
                }
                //Reject
                if (submission.EICDecision.ToString() == "Reject")
                {
                    manuscript.CurrentStatus = ManuscriptCurrentStatus.Declined;
                    _context.Update(manuscript);
                    _context.SaveChanges();
                    BackgroundJob.Schedule(() => _emailSender.SendEmailAsync(manuscript.CorrespondingAuthor.Email, Rejectcontent.ArSubject, Rejectcontent.ArContent + MyStringBuilder.ToString()), TimeSpan.FromSeconds(10));
                }
                //RejectWithAppealcontent
                if (submission.EICDecision.ToString() == "RejectWithAppeal")
                {
                    manuscript.CurrentStatus = ManuscriptCurrentStatus.Declined;
                    _context.Update(manuscript);
                    _context.SaveChanges();
                    BackgroundJob.Schedule(() => _emailSender.SendEmailAsync(manuscript.CorrespondingAuthor.Email, RejectWithAppealcontent.ArSubject, RejectWithAppealcontent.ArContent + MyStringBuilder.ToString()), TimeSpan.FromSeconds(10));
                }
                //RejectTransfer
                if (submission.EICDecision.ToString() == "RejectTransfer")
                {
                    manuscript.CurrentStatus = ManuscriptCurrentStatus.Declined;
                    _context.Update(manuscript);
                    _context.SaveChanges();
                    BackgroundJob.Schedule(() => _emailSender.SendEmailAsync(manuscript.CorrespondingAuthor.Email, RejectTransfercontent.ArSubject, RejectTransfercontent.ArContent + MyStringBuilder.ToString()), TimeSpan.FromSeconds(10));
                }
                //===============================================================
                return(RedirectToAction("Details", "Manuscripts", new { /* routeValues, for example: */ id = submission.ManuscriptId }));
            }
            ViewData["AEId"]         = new SelectList(_context.AreaEditors, "Id", "Description", submission.AEId);
            ViewData["ManuscriptId"] = new SelectList(_context.Manuscripts, "Id", "ArAbstract", submission.ManuscriptId);
            return(View(submission));
        }
コード例 #25
0
        public void GetAverageWordLength_GivenManuscript_ShouldReturnAverageWordLength(Manuscript manuscript, double expected)
        {
            var actual = ManuscriptExtensions.GetAverageWordLength(manuscript);

            actual.Should().Be(expected);
        }