public ActionResult EditRoad(int?roadmapId, int?id) { var model = new ManageRoadViewModel(); if (id != null) { var road = Db.Roads .Include(x => x.RoadXRoadSteps.Select(y => y.RoadStep)) .FirstOrDefault(p => p.Id == id); if (road != null) { model.Id = road.Id; model.Name = road.Name; model.Description = road.Description; model.RoadSteps = road.RoadXRoadSteps.Select(p => p.RoadStep).ToList(); if (roadmapId != null) { model.RoadmapId = roadmapId; } } } return(View(model)); }
public ActionResult EditRoad(ManageRoadViewModel model) { if (!ModelState.IsValid) { return(View(model)); } Road road = null; if (model.Id != null) { road = Db.Roads.FirstOrDefault(p => p.Id == model.Id); if (road != null) { road.Name = model.Name; road.Description = model.Description; } } else { var currentUserId = User.Identity.GetUserId(); RoadMap roadmap = null; if (model.RoadmapId != null) { roadmap = Db.RoadMaps.FirstOrDefault(p => p.Id == model.RoadmapId); } road = new Road(model.Name, model.Description, currentUserId, roadmap); Db.Roads.Add(road); } Db.SaveChanges(); return(RedirectToAction("List")); }