public void Check(IWebHostEnvironment env, DBMergedContext dbc) { string checkpath = env.WebRootPath + "/DisciplineFiles/"; string[] subdirs = Directory.GetDirectories(checkpath); if (Directory.Exists(checkpath)) { foreach (var dir in subdirs) { if (dir.Replace(checkpath, "").StartsWith("id")) { var id = dir.Replace(checkpath, "").Remove(0, 2); EDiscipline disc = (from di in dbc.Disciplines where di.Id.ToString() == id select di).FirstOrDefault(); if (disc == null) { Directory.Delete(dir, true); } } } } }
public async Task <IActionResult> Create(CreateDisciplineViewModel model) { if (ModelState.IsValid) { var teacher = await userManager.FindByIdAsync(model.TeacherId); var spec = await(from s in DBContext.Specialities.Include(d => d.Disciplines) where s.Id.ToString() == model.SpecialityId select s).FirstOrDefaultAsync(); var name = model.Name; var info = ""; if (!String.IsNullOrWhiteSpace(model.Info)) { info = model.Info; } EDiscipline disc = new EDiscipline() { Name = name, LectionH = model.LectionH, PracticeH = model.PracticeH, ExamType = model.ExamType, Teacher = teacher, About = info }; DBContext.Disciplines.Add(disc); spec.Disciplines.Add(disc); await DBContext.SaveChangesAsync(); return(RedirectToAction("Index", new { SpecId = spec.Id })); } model.AvailableTeachers = await userManager.GetUsersInRoleAsync("Teacher"); return(View(model)); }