/// <summary> /// Удаляет образовательную программу, /// если она доступна пользователю /// </summary> /// <param name="eduProgram"></param> /// <param name="userName"></param> public async Task RemoveEduProgramByUserNameAsync(EduProgram eduProgram, string userName) { var p = await GetEduProgramByUserNameAsync(eduProgram.EduProgramId, userName); if (p != null && p.Equals(eduProgram)) { _context.EduPrograms.Remove(eduProgram); Files.Files.RemoveFile(_context, _appEnvironment, eduProgram?.FileModelId); await _context.SaveChangesAsync(); } }
public async Task <IActionResult> Create([Bind("EduProgramId,EduProfileId,EduProgramPodgId,IsAdopt,UsingElAndDistEduTech,DateUtverjd")] EduProgram eduProgram, IFormFile uploadedFile, int[] eduFormIds, int[] eduYearIds) { if (ModelState.IsValid && uploadedFile != null) { FileModel fileModel = await KisVuzDotNetCore2.Models.Files.Files.LoadFile(_context, _appEnvironment, uploadedFile, "Образовательная программа", FileDataTypeEnum.OPOP); eduProgram.FileModelId = fileModel.Id; _context.Add(eduProgram); await _context.SaveChangesAsync(); if (eduFormIds != null) { var eduProgramEduFormList = new List <EduProgramEduForm>(); foreach (int eduFormId in eduFormIds) { EduProgramEduForm eduProgramEduForm = new EduProgramEduForm { EduProgramId = eduProgram.EduProgramId, EduFormId = eduFormId }; eduProgramEduFormList.Add(eduProgramEduForm); } await _context.EduProgramEduForms.AddRangeAsync(eduProgramEduFormList); await _context.SaveChangesAsync(); } if (eduYearIds != null) { var eduProgramEduYearList = new List <EduProgramEduYear>(); foreach (int eduYearId in eduYearIds) { EduProgramEduYear eduProgramEduYear = new EduProgramEduYear { EduProgramId = eduProgram.EduProgramId, EduYearId = eduYearId }; eduProgramEduYearList.Add(eduProgramEduYear); } await _context.EduProgramEduYears.AddRangeAsync(eduProgramEduYearList); await _context.SaveChangesAsync(); } return(RedirectToAction(nameof(Index))); } ViewData["EduProfileId"] = new SelectList(_context.EduProfiles.Include(p => p.EduNapravl.EduUgs.EduLevel), "EduProfileId", "GetEduProfileFullName", eduProgram.EduProfileId); ViewData["EduProgramPodgId"] = new SelectList(_context.EduProgramPodg, "EduProgramPodgId", "EduProgramPodgName", eduProgram.EduProgramPodgId); //ViewData["FileModelId"] = new SelectList(_context.Files, "Id", "Id", eduProgram.FileModelId); return(View(eduProgram)); }
public async Task <IActionResult> EduProgramEdit([Bind("EduProgramId,EduProfileId,EduProgramPodgId,IsAdopt,UsingElAndDistEduTech,FileModelId,DateUtverjd")] EduProgram eduProgram, IFormFile uploadedFile, int[] eduFormIds, int[] eduYearBeginningTrainingIds, int[] eduYearIds) { if (ModelState.IsValid) { await _metodKomissiyaRepository.UpdateEduProgramByUserNameAsync(User.Identity.Name, eduProgram, uploadedFile, eduFormIds, eduYearBeginningTrainingIds, eduYearIds); return(RedirectToAction(nameof(EduPrograms))); } ViewData["EduProfileId"] = _selectListRepository.GetSelectListEduProfileFullNames(eduProgram.EduProfileId); ViewData["EduProgramPodgId"] = _selectListRepository.GetSelectListEduProgramPodg(eduProgram.EduProgramPodgId); return(View(eduProgram)); }
public async Task <bool> UploadPUDToDatabase(IFormFile file) { _context.Database.SetCommandTimeout(100000); List <PUDInfoViewModel> pudModels = this.ReadPUD(file); bool success = true; var all_puds = await _context.PUDs.Include(i => i.EduProgram).Include(i => i.Department).ToListAsync(); var all_eduprog = await _context.EduPrograms.Include(i => i.Faculty).ToListAsync(); var all_depart = await _context.Departments.ToListAsync(); var all_faculty = await _context.Faculties.Include(i => i.Campus).ToListAsync(); var all_campus = await _context.Campuses.ToListAsync(); foreach (PUDInfoViewModel model in pudModels) { PUD pud = new PUD() { LinkId = model.LinkID, EducationStage = model.EducationStage, CourseName = model.Name, Language = model.Language, Details = model.Details }; var campus = all_campus.Find(item => item.Name == model.Campus); if (campus == null) { campus = new Campus { Name = model.Campus }; _context.Add(campus); } var falulty = all_faculty.Find(item => item.Name == model.Faculty); if (falulty == null) { falulty = new Faculty { Name = model.Faculty, Campus = campus }; _context.Add(falulty); } var edu_prog = all_eduprog.Find(item => item.Name == model.OP); if (edu_prog == null) { edu_prog = new EduProgram { Name = model.OP, Faculty = falulty }; _context.Add(edu_prog); } pud.EduProgram = edu_prog; var department = all_depart.Find(item => item.Name == model.Department); if (department == null) { department = new Department { Name = model.Department }; _context.Add(department); } pud.Department = department; var db_pud = all_puds.Find(item => { return(item.CourseName == pud.CourseName && item.EduProgram.Name == pud.EduProgram.Name && item.EducationStage == pud.EducationStage && item.EduProgram.Faculty.Name == pud.EduProgram.Faculty.Name && item.EduProgram.Faculty.Campus.Name == pud.EduProgram.Faculty.Campus.Name); }); if (db_pud == null) { _context.Add(pud); } } await _context.SaveChangesAsync(); return(success); }
/// <summary> /// Обновляет образовательную программу, если она доступна пользователю /// </summary> /// <param name="userName"></param> /// <param name="eduProgram"></param> /// <param name="uploadedFile"></param> /// <param name="eduFormIds"></param> /// <param name="eduYearIds"></param> public async Task UpdateEduProgramByUserNameAsync(string userName, EduProgram eduProgram, IFormFile uploadedFile, int[] eduFormIds, int[] eduYearBeginningTrainingIds, int[] eduYearIds) { /////// try { if (uploadedFile != null) { FileModel fileModel = await KisVuzDotNetCore2.Models.Files.Files.LoadFile(_context, _appEnvironment, uploadedFile, "Образовательная программа", FileDataTypeEnum.OPOP); await _context.SaveChangesAsync(); int?fileToRemoveId = eduProgram.FileModelId; eduProgram.FileModelId = fileModel.Id; await _context.SaveChangesAsync(); KisVuzDotNetCore2.Models.Files.Files.RemoveFile(_context, _appEnvironment, fileToRemoveId); } _context.Update(eduProgram); await _context.SaveChangesAsync(); if (eduFormIds != null) { _context.EduProgramEduForms.RemoveRange(_context.EduProgramEduForms.Where(f => f.EduProgramId == eduProgram.EduProgramId)); await _context.SaveChangesAsync(); var eduProgramEduFormList = new List <EduProgramEduForm>(); foreach (int eduFormId in eduFormIds) { EduProgramEduForm eduProgramEduForm = new EduProgramEduForm { EduProgramId = eduProgram.EduProgramId, EduFormId = eduFormId }; eduProgramEduFormList.Add(eduProgramEduForm); } await _context.EduProgramEduForms.AddRangeAsync(eduProgramEduFormList); await _context.SaveChangesAsync(); } if (eduYearBeginningTrainingIds != null) { _context.EduProgramEduYearBeginningTraining.RemoveRange(_context.EduProgramEduYearBeginningTraining.Where(f => f.EduProgramId == eduProgram.EduProgramId)); await _context.SaveChangesAsync(); var eduProgramEduYearBeginningTrainingList = new List <EduProgramEduYearBeginningTraining>(); foreach (int eduYearBeginningTrainingId in eduYearBeginningTrainingIds) { EduProgramEduYearBeginningTraining eduProgramEduYearBeginningTraining = new EduProgramEduYearBeginningTraining { EduProgramId = eduProgram.EduProgramId, EduYearBeginningTrainingId = eduYearBeginningTrainingId }; eduProgramEduYearBeginningTrainingList.Add(eduProgramEduYearBeginningTraining); } await _context.EduProgramEduYearBeginningTraining.AddRangeAsync(eduProgramEduYearBeginningTrainingList); await _context.SaveChangesAsync(); } if (eduYearIds != null) { _context.EduProgramEduYears.RemoveRange(_context.EduProgramEduYears.Where(f => f.EduProgramId == eduProgram.EduProgramId)); await _context.SaveChangesAsync(); var eduProgramEduYearList = new List <EduProgramEduYear>(); foreach (int eduYearId in eduYearIds) { EduProgramEduYear eduProgramEduYear = new EduProgramEduYear { EduProgramId = eduProgram.EduProgramId, EduYearId = eduYearId }; eduProgramEduYearList.Add(eduProgramEduYear); } await _context.EduProgramEduYears.AddRangeAsync(eduProgramEduYearList); await _context.SaveChangesAsync(); } } catch (DbUpdateConcurrencyException) { throw; } /////// }
public async Task <IActionResult> Edit(int id, [Bind("EduProgramId,EduProfileId,EduProgramPodgId,IsAdopt,UsingElAndDistEduTech,FileModelId,DateUtverjd")] EduProgram eduProgram, IFormFile uploadedFile, int[] eduFormIds, int[] eduYearIds) { if (id != eduProgram.EduProgramId) { return(NotFound()); } if (ModelState.IsValid) { try { if (uploadedFile != null) { FileModel fileModel = await KisVuzDotNetCore2.Models.Files.Files.LoadFile(_context, _appEnvironment, uploadedFile, "Образовательная программа", FileDataTypeEnum.OPOP); await _context.SaveChangesAsync(); int?fileToRemoveId = eduProgram.FileModelId; eduProgram.FileModelId = fileModel.Id; await _context.SaveChangesAsync(); KisVuzDotNetCore2.Models.Files.Files.RemoveFile(_context, _appEnvironment, fileToRemoveId); } _context.Update(eduProgram); await _context.SaveChangesAsync(); if (eduFormIds != null) { _context.EduProgramEduForms.RemoveRange(_context.EduProgramEduForms.Where(f => f.EduProgramId == eduProgram.EduProgramId)); await _context.SaveChangesAsync(); var eduProgramEduFormList = new List <EduProgramEduForm>(); foreach (int eduFormId in eduFormIds) { EduProgramEduForm eduProgramEduForm = new EduProgramEduForm { EduProgramId = eduProgram.EduProgramId, EduFormId = eduFormId }; eduProgramEduFormList.Add(eduProgramEduForm); } await _context.EduProgramEduForms.AddRangeAsync(eduProgramEduFormList); await _context.SaveChangesAsync(); } if (eduYearIds != null) { _context.EduProgramEduYears.RemoveRange(_context.EduProgramEduYears.Where(f => f.EduProgramId == eduProgram.EduProgramId)); await _context.SaveChangesAsync(); var eduProgramEduYearList = new List <EduProgramEduYear>(); foreach (int eduYearId in eduYearIds) { EduProgramEduYear eduProgramEduYear = new EduProgramEduYear { EduProgramId = eduProgram.EduProgramId, EduYearId = eduYearId }; eduProgramEduYearList.Add(eduProgramEduYear); } await _context.EduProgramEduYears.AddRangeAsync(eduProgramEduYearList); await _context.SaveChangesAsync(); } } catch (DbUpdateConcurrencyException) { if (!EduProgramExists(eduProgram.EduProgramId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["EduProfileId"] = new SelectList(_context.EduProfiles.Include(p => p.EduNapravl.EduUgs.EduLevel), "EduProfileId", "GetEduProfileFullName", eduProgram.EduProfileId); ViewData["EduProgramPodgId"] = new SelectList(_context.EduProgramPodg, "EduProgramPodgId", "EduProgramPodgName", eduProgram.EduProgramPodgId); //ViewData["FileModelId"] = new SelectList(_context.Files, "Id", "Id", eduProgram.FileModelId); return(View(eduProgram)); }