public ActionResult Summary(int?id) { if (id == null) { return(RedirectToAction("Index", "Home")); } _unitOfWork.Plans.IncrementPlanViews(id.Value); _unitOfWork.Complete(); var plan = _unitOfWork.Plans.GetPlan(id.Value); IEnumerable <Workout> workouts = _unitOfWork.Workouts.GetWorkouts(id.Value); foreach (Workout w in workouts) { w.Exercises = _unitOfWork.Exercises.GetExercises(w.Id); } var viewModel = new PlansFormViewModel { Name = plan.Name, PlanId = id.Value, LengthInWeeks = plan.LengthInWeeks, CreatedOn = plan.DateCreated.ToShortDateString(), Rating = _unitOfWork.Ratings.GetRatingAverage(id.Value), RatingCount = _unitOfWork.Ratings.GetRatingCount(id.Value), Favourites = _unitOfWork.Favourites.GetNumberOfFavourites(id.Value), Views = plan.Views, Workouts = workouts, CanEdit = (User.Identity.GetUserId() == plan.UserId) }; return(View("Summary", viewModel)); }
public ActionResult Create() { var viewModel = new PlansFormViewModel { Heading = "Add a Plan" }; return(View("PlanForm", viewModel)); }
public ActionResult Edit(int id) { var userId = User.Identity.GetUserId(); var plan = _unitOfWork.Plans.GetUserPlan(id, userId); var viewModel = new PlansFormViewModel { Id = plan.Id, Name = plan.Name, LengthInWeeks = plan.LengthInWeeks, Heading = "Edit Plan" }; return(View("PlanForm", viewModel)); }
public ActionResult Update(PlansFormViewModel viewModel) { if (!ModelState.IsValid) { return(View("PlanForm", viewModel)); } var userId = User.Identity.GetUserId(); var plan = _unitOfWork.Plans.GetUserPlan(viewModel.Id, userId); plan.Name = viewModel.Name; _unitOfWork.Complete(); return(RedirectToAction("Mine", "Plans")); }
public ActionResult Create(PlansFormViewModel viewModel) { if (!ModelState.IsValid) { return(View("PlanForm", viewModel)); } var plan = new Plan { UserId = User.Identity.GetUserId(), Name = viewModel.Name, LengthInWeeks = viewModel.LengthInWeeks, DateCreated = DateTime.UtcNow, Workouts = viewModel.Workouts, Rating = 0, RatingCount = 0 }; _unitOfWork.Plans.Add(plan); _unitOfWork.Complete(); return(RedirectToAction("Mine")); }