/// <summary> /// Подробные сведения об абитуриенте /// </summary> /// <param name="userName"></param> /// <returns></returns> public async Task <IActionResult> Details(string userName, string mode) { ViewBag.IsUserConsultant = User.IsInRole("Приёмная комиссия (консультанты)") ? true : false; var abiturient = await _abiturRepository.GetAbiturientAsync(userName); switch (mode) { // Режим изменения даты и времени регистрации абитуриента case "ChangeAbiturRegisterDateTime": ViewBag.Mode = mode; break; // Режим сохранения изменения даты и времени регистрации абитуриента case "ChangeAbiturRegisterDateTimeSave": string abiturRegisterDateTimeString = HttpContext.Request.Query["RegisterDateTime"]; DateTime abiturRegisterDateTime; if (DateTime.TryParse(abiturRegisterDateTimeString, out abiturRegisterDateTime)) { await _abiturRepository.SetAbiturientRegisterDateTimeAsync(abiturient, abiturRegisterDateTime); return(RedirectToAction(nameof(Details), new { userName })); } break; // Режим изменения статуса абитуриента case "ChangeAbiturStatus": ViewBag.Mode = mode; ViewBag.AbiturientStatuses = _selectListRepository.GetSelectListAbiturientStatuses(abiturient.AbiturientStatusId); break; // Режим сохранения изменения статуса абитуриента case "ChangeAbiturStatusSave": string abiturientStatusIdString = HttpContext.Request.Query["AbiturientStatusId"]; int abiturientStatusId; if (int.TryParse(abiturientStatusIdString, out abiturientStatusId)) { await _abiturRepository.SetAbiturientStatusAsync(abiturient, (AbiturientStatusEnum)abiturientStatusId); return(RedirectToAction(nameof(Details), new { userName })); } break; // Режим изменения номера группы для прохождения вступительных испытаний case "ChangeEntranceTestGroupId": ViewBag.Mode = mode; ViewBag.AbiturientStatuses = _selectListRepository.GetSelectListAbiturientStatuses(abiturient.AbiturientStatusId); break; // Режим сохранения изменения номера группы для прохождения вступительных испытаний case "ChangeEntranceTestGroupIdSave": string entranceTestGroupIdString = HttpContext.Request.Query["EntranceTestGroupId"]; int entranceTestGroupId; if (int.TryParse(entranceTestGroupIdString, out entranceTestGroupId)) { await _abiturRepository.SetAbiturientEntranceTestGroupIdAsync(abiturient, entranceTestGroupId); return(RedirectToAction(nameof(Details), new { userName })); } else { await _abiturRepository.SetAbiturientEntranceTestGroupIdAsync(abiturient, null); return(RedirectToAction(nameof(Details), new { userName })); } // Режим добавления сотрудника-консультанта case "ChangeAppUserAbiturientConsultant": ViewBag.Mode = mode; ViewBag.AppUserAbiturientConsultants = await _selectListRepository.GetSelectListAppUserAbiturientConsultantsAsync(); break; // Режим сохранения сотрудника-консультанта case "ChangeAppUserAbiturientConsultantSave": string appUserAbiturientConsultantId = HttpContext.Request.Query["AppUserAbiturientConsultantId"]; await _abiturRepository.SetAppUserAbiturientConsultantAsync(abiturient, appUserAbiturientConsultantId); return(RedirectToAction(nameof(Details), new { userName })); // Режим изменения способа подачи документов case "ChangeSubmittingDocumentsType": ViewBag.Mode = mode; ViewBag.SubmittingDocumentsTypes = _selectListRepository.GetSubmittingDocumentsTypes(abiturient.SubmittingDocumentsTypeId); break; // Режим сохранения изменения способа подачи документов case "ChangeSubmittingDocumentsTypeSave": string submittingDocumentsTypeIdString = HttpContext.Request.Query["SubmittingDocumentsTypeId"]; int submittingDocumentsTypeId; if (int.TryParse(submittingDocumentsTypeIdString, out submittingDocumentsTypeId)) { await _abiturRepository.SetAbiturientSubmittingDocumentsTypeAsync(abiturient, submittingDocumentsTypeId); return(RedirectToAction(nameof(Details), new { userName })); } break; // Режим изменения наличия оригинала документа об образовании case "ChangeIsEduDocumentOriginal": ViewBag.Mode = mode; //ViewBag.AbiturientStatuses = _selectListRepository.GetSelectListAbiturientStatuses(abiturient.AbiturientStatusId); break; // Режим сохранения изменения наличия оригинала документа об образовании case "ChangeIsEduDocumentOriginalSave": string isEduDocumentOriginalString = HttpContext.Request.Query["IsEduDocumentOriginal"]; if (isEduDocumentOriginalString.Contains("true,false")) { await _abiturRepository.SetIsEduDocumentOriginalAsync(abiturient, true); } else if (isEduDocumentOriginalString.Contains("false")) { await _abiturRepository.SetIsEduDocumentOriginalAsync(abiturient, false); } //int abiturientStatusId; //if (int.TryParse(abiturientStatusIdString, out abiturientStatusId)) //{ // await _abiturRepository.SetAbiturientStatusAsync(abiturient, (AbiturientStatusEnum)abiturientStatusId); // return RedirectToAction(nameof(Details), new { userName }); //} break; default: break; } return(View(abiturient)); }