/// <summary> /// Laedt das Formular zum Eintragen einer Trainingseinheit /// </summary> /// <param name="id">ID des Trainingsplans, fuer den die Trainingseinheit erstellt werden soll</param> /// <returns></returns> public ActionResult Create(int id) { RedirectIfNotLoggedIn(); ml_WorkoutPlan model = _workoutService.Load(id); ILocalization loc = new Localization(); ViewData["DateFormat"] = loc.GetjQueryDatepickerFormat(); return View(model); }
public ActionResult Create(FormCollection formData) { RedirectIfNotLoggedIn(); // sicher gehen, dass dier Trainingsplan gueltig ist int workoutID = -1; if(String.IsNullOrEmpty(formData.Get("workoutID")) || !Int32.TryParse(formData.Get("workoutID"), out workoutID)) { ViewData["message"] = "Der gewählte Trainingsplan, für den die Trainingseinheit erstellt werden soll, ist nicht gültig."; return View("ErrorView"); } int numExercises = -1; if (!Int32.TryParse(formData["numExercies"], out numExercises)) { ViewData["message"] = "Die Formulardaten sind ungültig. Bitte versuche es erneut."; return View("ErrorView"); } // wenn validierung nicht erfolgreich ist, dann wird die Session.Create-View mit einer Fehlermeldung angezeigt if(!_sessionService.ValidateSessionFormData(formData, numExercises)) { ViewData["errorMessage"] = "Die Trainingseinheit konnte nicht gespeichert werden. Vervollständige Deine Eingaben und versuche es erneut."; ml_WorkoutPlan model = _workoutService.Load(Convert.ToInt32(formData.Get("workoutID").ToString())); return View("Create", model); } // Validierung erfolgreich - Daten koennen gespeichert werden ml_Session session = _sessionService.Save(formData, CurrentUser.ID); _sessionSetService.SaveSets(formData, session, numExercises); ViewData["successMessage"] = "Deine Trainingseinheit wurde gespeichert."; ViewData["UserID"] = CurrentUser.ID; ILocalization loc = new Localization(); ViewData["DateFormat"] = loc.GetjQueryDatepickerFormat(); int workoutCount = 0; IEnumerable<ml_WorkoutPlan> workouts = _workoutService.List(CurrentUser.ID, out workoutCount); ViewData["WorkoutCount"] = workoutCount; return View("Index", workouts); }