Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        /// <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();
 }