public JsonResult ProcessNextBatch() { if (_currentBatch >= _chunksToProcess.Count) { return(Json(false)); } foreach (var title in _chunksToProcess[_currentBatch]) { var journals = _allJournals.Where(j => j.Title == title).ToList(); var downloaded = _journalsTocImport.DownloadJournals(journals.Select(j => j.ISSN).ToList()); _duplicateQueueProcessedCount++; if (!downloaded.Any()) { continue; } var journalToDelete = journals.SingleOrDefault(j => j.ISSN == downloaded.First().PISSN); if (journalToDelete == null) { continue; } var journalToKeep = journals.SingleOrDefault(j => j.ISSN == downloaded.First().ISSN); if (journalToKeep == null) { continue; } PerformMoveOfScoreCards(new MoveScoreCardsViewModel { NewIssn = journalToKeep.ISSN, OldIssn = journalToDelete.ISSN }); journalToDelete = journalRepository.Find(journalToDelete.Id); journalRepository.Delete(journalToDelete); _removeDuplicateCount++; } _currentBatch++; journalRepository.Save(); return(Json(true)); }
/// <summary> /// Logical deletion of the specified Journal. /// If an invalid value is bound to JournalId don't allow the operation to continue /// </summary> /// <param name="JournalId"></param> /// <returns></returns> public int Delete(int JournalId, string UserId) { Guid SessionUserId; if (JournalId == 0) { return(JournalId); } if (string.IsNullOrEmpty(UserId) == false) { Guid.TryParse(UserId, out SessionUserId); } else { SessionUserId = Guid.NewGuid(); } return(_journalRepository.Delete(JournalId, SessionUserId)); }
public void Delete(int journalId) { _journalRepository.Delete(journalId); _db.SaveChanges(); }