public ActionResult Edit(int id) { var query = (from tsc in _context.TrainingClassStudent where tsc.TrainingClassStudentId == id select tsc).FirstOrDefault(); //Explicit loading because EF Core isn't lazy _context.TrainingClassStudent.Include(x => x.TrainingClassStudentMember).Load(); _context.TrainingClassStudent.Include(x => x.TrainingClass).ThenInclude(y => y.Training).Load(); //converting from data models to the view model (dto), the conversions happen in the view model / dto's constructor Models.Training.TrainingClassStudentSummaryItem model = new Models.Training.TrainingClassStudentSummaryItem(query); return(View(model)); }
public ActionResult Delete(Models.Training.TrainingClassStudentSummaryItem viewModel) { try { var del = new Models.DB.TrainingClassStudent { TrainingClassStudentId = viewModel.TrainingClassStudentID }; _context.TrainingClassStudent.Attach(del); _context.Remove(del); _context.SaveChanges(); return(RedirectToAction(nameof(Index))); } catch (Exception exc) { throw exc; } }
public ActionResult Edit(Models.Training.TrainingClassStudentSummaryItem viewModel) { // only updating hours and date at the moment try { var query = (from tsc in _context.TrainingClassStudent where tsc.TrainingClassStudentId == viewModel.TrainingClassStudentID select tsc).FirstOrDefault(); query.TrainingClassStudentHours = viewModel.Hours; _context.SaveChanges(); return(RedirectToAction(nameof(Index))); } catch (Exception exc) { throw exc; } }