public IActionResult DeleteConfirmed(ScienceJournal scienceJournal)
        {
            if (scienceJournal == null)
            {
                return(NotFound());
            }
            var scienceJournalEntry = _scienceJournalRepository.RemoveScienceJournal(scienceJournal.ScienceJournalId);

            return(RedirectToAction("Index"));
        }
Exemple #2
0
        public async Task <IActionResult> ConfirmClaim(int id)
        {
            var claim = await _context.ScienceJournalAddingClaims.FirstOrDefaultAsync(c => c.ScienceJournalAddingClaimId == id);

            if (claim != null)
            {
                var scienceJournal = new ScienceJournal
                {
                    ScienceJournalName = claim.ScienceJournalName,
                    IsVak        = claim.IsVak,
                    IsZarubejn   = claim.IsZarubejn,
                    ELibraryLink = claim.ELibraryLink
                };

                // Системы цитирования
                var citationBases = await _context.CitationBases.ToListAsync();

                foreach (var citationBase in citationBases)
                {
                    if (claim.CitationBasesList.ToLower().Contains(citationBase.CitationBaseName.ToLower()))
                    {
                        scienceJournal.ScienceJournalCitationBases.Add(
                            new ScienceJournalCitationBase
                        {
                            CitationBaseId = citationBase.CitationBaseId
                        });
                    }
                }

                await _context.ScienceJournals.AddAsync(scienceJournal);

                claim.RowStatusId = (int)RowStatusEnum.Confirmed;
                await _context.SaveChangesAsync();
            }
            return(RedirectToAction(nameof(Index)));
        }
        public IActionResult CreateOrEdit(ScienceJournal scienceJournal,
                                          int CitationBaseIdAdd, int CitationBaseIdRemove,
                                          CreateOrEditNirDataModeEnum mode)
        {
            ScienceJournal scienceJournalEntry = _scienceJournalRepository.GetScienceJournal(scienceJournal.ScienceJournalId);

            if (scienceJournalEntry == null)
            {
                _scienceJournalRepository.CreateScienceJournal(scienceJournal);
                scienceJournalEntry = scienceJournal;
            }
            else
            {
                scienceJournal.ScienceJournalCitationBases = scienceJournalEntry.ScienceJournalCitationBases;
                _scienceJournalRepository.UpdateScienceJournal(scienceJournalEntry, scienceJournal);
            }

            switch (mode)
            {
            case CreateOrEditNirDataModeEnum.Saving:
                _scienceJournalRepository.UpdateScienceJournal(scienceJournalEntry, scienceJournal);
                return(RedirectToAction("Index"));

            case CreateOrEditNirDataModeEnum.Canceling:
                return(RedirectToAction("Index"));

            case CreateOrEditNirDataModeEnum.AddingCitationBase:
                if (CitationBaseIdAdd != 0)
                {
                    var isExists = scienceJournal.ScienceJournalCitationBases.FirstOrDefault(s => s.CitationBaseId == CitationBaseIdAdd) != null;
                    if (!isExists)
                    {
                        scienceJournal.ScienceJournalCitationBases.Add(new ScienceJournalCitationBase {
                            CitationBaseId = CitationBaseIdAdd
                        });
                        _scienceJournalRepository.UpdateScienceJournal(scienceJournalEntry, scienceJournal);
                    }
                }
                break;

            case CreateOrEditNirDataModeEnum.EditingCitationBase:
                break;

            case CreateOrEditNirDataModeEnum.RemovingCitationBase:
                if (CitationBaseIdRemove != 0)
                {
                    var citationBaseToRemove = scienceJournal.ScienceJournalCitationBases.FirstOrDefault(s => s.CitationBaseId == CitationBaseIdRemove);
                    if (citationBaseToRemove != null)
                    {
                        scienceJournal.ScienceJournalCitationBases.Remove(citationBaseToRemove);
                        _scienceJournalRepository.UpdateScienceJournal(scienceJournalEntry, scienceJournal);
                    }
                }
                break;

            default:
                break;
            }

            ViewBag.CitationBases = _selectListRepository.GetSelectListCitationBases();

            return(View(scienceJournalEntry));
        }