public ActionResult EditRoadStep(int?roadId, int?id) { var model = new ManageRoadStepViewModel(); if (id != null) { var roadStep = Db.RoadSteps .Include(x => x.StepResources) .Include(x => x.StepExercises) .FirstOrDefault(p => p.Id == id); if (roadStep != null) { model.Id = roadStep.Id; model.Name = roadStep.Name; model.Description = roadStep.Description; model.StepResources = roadStep.StepResources.ToList(); model.StepExercises = roadStep.StepExercises.ToList(); if (roadId != null) { model.RoadId = roadId; } } } return(View(model)); }
public ActionResult EditRoadStep(ManageRoadStepViewModel model) { if (!ModelState.IsValid) { return(View(model)); } RoadStep roadStep = null; if (model.Id != null) { roadStep = Db.RoadSteps.FirstOrDefault(p => p.Id == model.Id); if (roadStep != null) { roadStep.Name = model.Name; roadStep.Description = model.Description; } } else { Road road = null; if (model.RoadId != null) { road = Db.Roads.FirstOrDefault(p => p.Id == model.RoadId); } roadStep = new RoadStep(model.Name, model.Description, CurrentUserId, road); Db.RoadSteps.Add(roadStep); var currentTeacher = CurrentTeacher; if (currentTeacher == null) { currentTeacher = new Teacher(CurrentUser); Db.Teachers.Add(currentTeacher); } currentTeacher.AddRoadStep(roadStep); } Db.SaveChanges(); return(RedirectToAction("List")); }