/// <summary> /// Возвращает объект рабочей программы дисциплины. /// Если rabProgramId равно null, /// создаёт и возвращает новый объект /// </summary> /// <param name="eduPlanId"></param> /// <param name="disciplineId"></param> /// <param name="rabProgramId"></param> /// <param name="userName"></param> /// <returns></returns> public async Task <RabProgram> GetRabProgramByUserNameAsync(int eduPlanId, int disciplineId, int?rabProgramId, string userName) { var discipline = await GetDisciplineByUserNameAsync(eduPlanId, disciplineId, userName); if (discipline == null) { return(null); } RabProgram rabProgram = new RabProgram(); rabProgram.Discipline = discipline; rabProgram.DisciplineId = discipline.DisciplineId; if (rabProgramId == null || rabProgramId == 0) { return(rabProgram); } rabProgram = discipline.RabPrograms.FirstOrDefault(a => a.RabProgramId == rabProgramId); if (rabProgram == null) { return(null); } return(rabProgram); }
/// <summary> /// Обновление файла листа переутверждения рабочей программы /// </summary> /// <param name="rabProgram"></param> /// <param name="uploadedFile"></param> /// <returns></returns> public async Task <RabProgram> UpdateRabProgramListPereutverjdeniyaAsync(RabProgram rabProgram, IFormFile uploadedFile) { if (rabProgram == null || uploadedFile == null) { return(null); } rabProgram = await _eduPlanRepository.UpdateRabProgramListPereutverjdeniyaAsync(rabProgram, uploadedFile); return(rabProgram); }
/// <summary> /// Удаление листа переутверждения рабочей программы учебной дисциплины /// </summary> /// <param name="EduPlanId"></param> /// <param name="DisciplineId"></param> /// <param name="RabProgramId"></param> /// <returns></returns> public async Task <IActionResult> RabProgramListPereutverjdeniyaRemove(int EduPlanId, int DisciplineId, int RabProgramId) { RabProgram rabProgram = await _metodKomissiyaRepository.GetRabProgramByUserNameAsync(EduPlanId, DisciplineId, RabProgramId, User.Identity.Name); if (rabProgram == null) { return(NotFound()); } return(View(rabProgram)); }
public async Task <IActionResult> RabProgramListPereutverjdeniyaCreateOrEdit(int EduPlanId, int DisciplineId, int?RabProgramId, IFormFile uploadedFile) { RabProgram rabProgram = await _metodKomissiyaRepository.GetRabProgramByUserNameAsync(EduPlanId, DisciplineId, RabProgramId, User.Identity.Name); if (rabProgram != null) { await _metodKomissiyaRepository.UpdateRabProgramListPereutverjdeniyaAsync(rabProgram, uploadedFile); } return(RedirectToAction(nameof(EduPlanPreview), new { id = EduPlanId })); }
/// <summary> /// Добавление / редактирование аннотации учебной дисциплины /// </summary> /// <param name="EduPlanId"></param> /// <param name="DisciplineId"></param> /// <param name="RabProgramId"></param> /// <returns></returns> public async Task <IActionResult> RabProgramCreateOrEdit(int EduPlanId, int DisciplineId, int?RabProgramId) { RabProgram rabProgram = await _metodKomissiyaRepository.GetRabProgramByUserNameAsync(EduPlanId, DisciplineId, RabProgramId, User.Identity.Name); if (rabProgram == null) { return(NotFound()); } ViewBag.EduPlanId = EduPlanId; return(View(rabProgram)); }
/// <summary> /// Удаляет лист переутверждения рабочей программы, если она доступна пользователю /// </summary> /// <param name="eduPlanId"></param> /// <param name="disciplineId"></param> /// <param name="rabProgramId"></param> /// <param name="userName"></param> /// <returns></returns> public async Task RemoveRabProgramListPereutverjdeniyaByUserNameAsync(int eduPlanId, int disciplineId, int rabProgramId, string userName) { RabProgram rabProgram = await GetRabProgramByUserNameAsync(eduPlanId, disciplineId, rabProgramId, userName); if (rabProgram == null) { return; } await _eduPlanRepository.RemoveRabProgramListPereutverjdeniyaAsync(rabProgram); }
public async Task <IActionResult> Edit(int id, [Bind("RabProgramId,DisciplineId,FileModelId")] RabProgram rabProgram, IFormFile uploadedFile, int?EduPlanId) { if (id != rabProgram.RabProgramId) { return(NotFound()); } if (ModelState.IsValid) { if (uploadedFile != null) { FileModel fileModel = await KisVuzDotNetCore2.Models.Files.Files.LoadFile(_context, _appEnvironment, uploadedFile, "Рабочая программа", FileDataTypeEnum.RabProgrammaDisciplini); await _context.SaveChangesAsync(); int?fileToRemoveId = rabProgram.FileModelId; rabProgram.FileModelId = fileModel.Id; await _context.SaveChangesAsync(); KisVuzDotNetCore2.Models.Files.Files.RemoveFile(_context, _appEnvironment, fileToRemoveId); } try { _context.Update(rabProgram); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!RabProgramExists(rabProgram.RabProgramId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index), new { EduPlanId })); } ViewData["DisciplineId"] = new SelectList(_context.Disciplines, "DisciplineId", "DisciplineId", rabProgram.DisciplineId); ViewData["FileModelId"] = new SelectList(_context.Files, "Id", "Id", rabProgram.FileModelId); return(View(rabProgram)); }
public async Task <IActionResult> Create([Bind("RabProgramId,DisciplineId,FileModelId")] RabProgram rabProgram, IFormFile uploadedFile, int?EduPlanId) { if (ModelState.IsValid && uploadedFile != null) { FileModel fileModel = await KisVuzDotNetCore2.Models.Files.Files.LoadFile(_context, _appEnvironment, uploadedFile, "Рабочая программа", FileDataTypeEnum.RabProgrammaDisciplini); rabProgram.FileModelId = fileModel.Id; _context.Add(rabProgram); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index), new { EduPlanId })); } var eduPlans = _context.EduPlans .Where(p => p.EduPlanId == EduPlanId) .Include(p => p.BlokDiscipl) .ThenInclude(bd => bd.BlokDisciplChast) .ThenInclude(bdc => bdc.Disciplines) .ThenInclude(d => d.DisciplineName); List <Discipline> disciplinesByEduPlan = new List <Discipline>(); foreach (var plan in eduPlans) { foreach (var blokDiscipl in plan.BlokDiscipl) { foreach (var blokDisciplChast in blokDiscipl.BlokDisciplChast) { foreach (var discipline in blokDisciplChast.Disciplines) { disciplinesByEduPlan.Add(discipline); } } } } ViewData["DisciplineId"] = new SelectList(disciplinesByEduPlan, "DisciplineId", "DisciplineName.DisciplineNameName"); ViewBag.EduPlanId = EduPlanId; return(View(rabProgram)); }