public ActionResult CreateAuto(Walk walk) { // ----This should really be done by a customised Model Binder----------- Walk oWalk = new Walk(); WalkingStick.FillWalkFromFormVariables(ref oWalk, Request.Form); int iWalkID = this.repository.AddWalk(oWalk); // ---Add hill ascents----------------- List <HillAscent> arHillAscents = WalkingStick.FillHillAscentsFromFormVariables(iWalkID, this.Request.Form); repository.AddWalkSummitsVisited(arHillAscents); // ---Add the associated files----- // --TODO - this needs to change to pull files from disk rather than form variable List <Walk_AssociatedFile> arWalkAssociatedFiles = WalkingStick.FillWalkAssociatedFilesByExaminingDirectory( iWalkID, this.Request.Form, this.Server.MapPath("~/Content/images/").Replace("\\", "/")); repository.AddWalkAssociatedFiles(arWalkAssociatedFiles); //---Redirect to the newly created walk to continue editing return(RedirectToAction("Edit", new { id = iWalkID })); }
public ActionResult Create(Walk walk) { // ----This should really be done by a customised Model Binder----------- Walk oWalk = new Walk(); WalkingStick.FillWalkFromFormVariables(ref oWalk, Request.Form); int iWalkID = this.repository.AddWalk(oWalk); // ---Add hill ascents----------------- List <HillAscent> arHillAscents = WalkingStick.FillHillAscentsFromFormVariables(iWalkID, this.Request.Form); repository.AddWalkSummitsVisited(arHillAscents); // ---Add the associated files----- List <Walk_AssociatedFile> arAssociatedFiles = WalkingStick.FillHillAssociatedFilesFromFormVariables( iWalkID, this.Request.Form, this.Server.MapPath("/")); repository.AddWalkAssociatedFiles(arAssociatedFiles); // ---update any markers created by ajax call with walk id, and add any marker observations---------------- repository.AssociateMarkersWithWalk(Request.Form, iWalkID); if ((walk.HillAscents.Count > 0)) { return(RedirectToAction("HillsByArea", new { id = oWalk.Area.Arearef.Trim(), page = 1 })); } return(RedirectToAction("WalksByDate", new { OrderBy = "DateDesc" })); }