Beispiel #1
0
        public async Task <IActionResult> Index(int lmsEventId, string userName)
        {
            if (lmsEventId == 0)
            {
                return(RedirectToAction(nameof(SetLmsEventTypeId)));
            }

            if (string.IsNullOrWhiteSpace(userName))
            {
                return(RedirectToAction(nameof(ChooseUserName), new { lmsEventId }));
            }

            var lmsEventTasks = await _lmsEventLmsTasksetAppUserAnswerRepository.GetLmsEventTasksAsync(lmsEventId);

            if (lmsEventTasks == null)
            {
                return(NotFound());
            }

            var userAnswers = await _lmsEventLmsTasksetAppUserAnswerRepository.GetLmsEventAppUserAnswers(userName, lmsEventId).ToListAsync();

            ViewBag.LmsEvent = await _lmsEventLmsTasksetAppUserAnswerRepository.GetLmsEvent(lmsEventId);

            ViewBag.LmsEventId = lmsEventId;
            ViewBag.UserName   = userName;

            return(View(lmsEventTasks));
        }
        /// <summary>
        /// Формирование pdf-файла бланка ответов вступительного испытания
        /// </summary>
        /// <param name="id"></param>
        /// <param name="needUpdatePdf">Необходимость переформировать файл</param>
        /// <returns></returns>
        public async Task <IActionResult> PrintBlankOtvetov(int id, bool needUpdatePdf)
        {
            if (id == 0)
            {
                return(NotFound());
            }

            var entranceTestRegistrationForm = await _entranceTestRegistrationFormRepository.GetEntranceTestRegistrationFormAsync(id);

            if (entranceTestRegistrationForm == null)
            {
                return(NotFound());
            }



            /////////
            if (string.IsNullOrWhiteSpace(entranceTestRegistrationForm.FileNameBlankOtvetov) || needUpdatePdf)
            {
                var lmsEventTasks = await _lmsEventLmsTasksetAppUserAnswerRepository.GetLmsEventTasksAsync(entranceTestRegistrationForm.LmsEventId);

                if (lmsEventTasks == null)
                {
                    return(NotFound());
                }

                var userAnswers = await _lmsEventLmsTasksetAppUserAnswerRepository.GetLmsEventAppUserAnswers(entranceTestRegistrationForm.Abiturient.AppUser.UserName, entranceTestRegistrationForm.LmsEventId).ToListAsync();



                if (!string.IsNullOrWhiteSpace(entranceTestRegistrationForm.FileNameBlankOtvetov))
                {
                    await _entranceTestRegistrationFormRepository.RemovePdfFileBlankOtvetovAsync(entranceTestRegistrationForm.EntranceTestRegistrationFormId);
                }

                string createdFileNameBlankOtvetov = _pdfDocumentGenerator.GenerateEntranceTestBlankOtvetov(entranceTestRegistrationForm, lmsEventTasks);
                await _entranceTestRegistrationFormRepository.SetPathToPdfFileBlankOtvetov(entranceTestRegistrationForm.EntranceTestRegistrationFormId, createdFileNameBlankOtvetov);
            }

            return(Redirect($"/{entranceTestRegistrationForm.FileNameBlankOtvetov}"));
        }
        /// <summary>
        /// Стартовая форма события СДО
        /// </summary>
        /// <param name="appUserLmsEventId"></param>
        /// <returns></returns>
        public async Task <IActionResult> AppUserLmsEventStartForm(int appUserLmsEventId)
        {
            var appUserLmsEvent = await _appUserLmsEventRepository.GetAppUserLmsEventAsync(appUserLmsEventId);

            if (appUserLmsEvent.AppUser.UserName != User.Identity.Name)
            {
                return(NotFound());
            }

            // Проверка наличия бланка регистрации на мероприятие
            bool isEntranceTestRegistrationFormExists = await _abiturientRepository.IsEntranceTestRegistrationFormExistsAsync(User.Identity.Name, appUserLmsEvent.LmsEventId);

            if (!isEntranceTestRegistrationFormExists)
            {
                return(RedirectToAction(nameof(CreateEntranceTestRegistrationForm), new { appUserLmsEventId }));
            }

            ViewBag.TasksNumberReceived = _lmsEventLmsTasksetAppUserAnswerRepository.GetLmsEventAppUserAnswers(User.Identity.Name, appUserLmsEvent.LmsEventId).Count();
            ViewBag.TasksNumber         = (await _lmsEventLmsTasksetAppUserAnswerRepository.GetLmsEventTasksAsync(appUserLmsEvent.LmsEventId)).Count();

            return(View(appUserLmsEvent));
        }
 /// <summary>
 /// Форма сообщения об окончании тестирования
 /// </summary>
 /// <param name="lmsEventId"></param>
 /// <returns></returns>
 public async Task <IActionResult> TestingFinished(int lmsEventId)
 {
     ViewBag.TasksNumberReceived = _repository.GetLmsEventAppUserAnswers(User.Identity.Name, lmsEventId).Count();
     ViewBag.TasksNumber         = (await _repository.GetLmsEventTasksAsync(lmsEventId)).Count();
     return(View());
 }