public async Task <IActionResult> Create(TeacherFormVM Vmodel) { if (ModelState.IsValid) { string uniqueFileName = UploadedFile(Vmodel); Teacher teacher = new Teacher { ProfilePicture = uniqueFileName, FirstName = Vmodel.FirstName, LastName = Vmodel.LastName, Degree = Vmodel.Degree, AcademicRank = Vmodel.AcademicRank, OfficeNumber = Vmodel.OfficeNumber, HireDate = Vmodel.HireDate, FirstCourses = Vmodel.FirstCourses, SecondCourses = Vmodel.SecondCourses }; _context.Add(teacher); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View()); }
public async Task <IActionResult> Edit(int?id) { if (id == null) { return(NotFound()); } var teacher = await _context.Teacher.FindAsync(id); if (teacher == null) { return(NotFound()); } TeacherFormVM Vmodel = new TeacherFormVM { Id = teacher.Id, FirstName = teacher.FirstName, LastName = teacher.LastName, Degree = teacher.Degree, AcademicRank = teacher.AcademicRank, OfficeNumber = teacher.OfficeNumber, HireDate = teacher.HireDate, FirstCourses = teacher.FirstCourses, SecondCourses = teacher.SecondCourses }; ViewData["TeacherFullName"] = _context.Teacher.Where(t => t.Id == id).Select(t => t.FullName).FirstOrDefault(); return(View(Vmodel)); }
private string UploadedFile(TeacherFormVM Vmodel) { string uniqueFileName = null; if (Vmodel.ProfilePicture != null) { string uploadsFolder = Path.Combine(_webHostEnvironment.WebRootPath, "images"); uniqueFileName = Guid.NewGuid().ToString() + "_" + Path.GetFileName(Vmodel.ProfilePicture.FileName); string filePath = Path.Combine(uploadsFolder, uniqueFileName); using (var fileStream = new FileStream(filePath, FileMode.Create)) { Vmodel.ProfilePicture.CopyTo(fileStream); } } return(uniqueFileName); }
public async Task <IActionResult> Edit(int id, TeacherFormVM Vmodel) { if (id != Vmodel.Id) { return(NotFound()); } if (ModelState.IsValid) { try { string uniqueFileName = UploadedFile(Vmodel); Teacher teacher = new Teacher { ProfilePicture = uniqueFileName, Id = Vmodel.Id, FirstName = Vmodel.FirstName, LastName = Vmodel.LastName, Degree = Vmodel.Degree, AcademicRank = Vmodel.AcademicRank, OfficeNumber = Vmodel.OfficeNumber, HireDate = Vmodel.HireDate, FirstCourses = Vmodel.FirstCourses, SecondCourses = Vmodel.SecondCourses }; _context.Update(teacher); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!TeacherExists(Vmodel.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(Vmodel)); }