コード例 #1
0
        public ActionResult Create(int workoutId, int planId)
        {
            var viewModel = new ExerciseFormViewModel
            {
                WorkoutId = workoutId,
                PlanId    = planId
            };

            return(View(viewModel));
        }
コード例 #2
0
        //GET Exercises/New
        public ActionResult New()
        {
            var viewModel = new ExerciseFormViewModel()
            {
                //gives a value cannot be empty error
                //  MuscleGroups = _ctx.MuscleGroups.ToList()
            };

            return(View("ExerciseForm", viewModel));
        }
コード例 #3
0
        public ActionResult Create(ExerciseFormViewModel viewModel)
        {
            //var imageTypes = new string[]{
            //        "image/gif",
            //        "image/jpeg",
            //        "image/pjpeg",
            //        "image/png"
            //};

            //if (viewModel.ImageUpload != null && !imageTypes.Contains(viewModel.ImageUpload.ContentType))
            //{
            //    ModelState.AddModelError("ImageUpload", "Please choose either a GIF, JPG or PNG image.");
            //}

            if (!ModelState.IsValid)
            {
                return(View("Create", viewModel));
            }

            var userId = User.Identity.GetUserId();

            //byte[] image = null;
            //if (viewModel.ImageUpload != null)
            //{
            //    using (var ms = new MemoryStream())
            //    {
            //        viewModel.ImageUpload.InputStream.CopyTo(ms);
            //        image = ms.ToArray();
            //    }
            //}

            var exercise = new Exercise
            {
                WorkoutId = viewModel.WorkoutId,
                UserId    = userId,
                Name      = viewModel.Name,
                Duration  = viewModel.Duration,
                Reps      = viewModel.Reps == null ? "" : viewModel.Reps,
                Sets      = viewModel.Sets == null ? "" : viewModel.Sets,
                Image     = null,
                Comment   = viewModel.Comment
            };

            _unitOfWork.Exercises.Add(exercise);
            _unitOfWork.Complete();

            return(RedirectToAction("Summary", "Workouts", new { planId = viewModel.PlanId, workoutId = viewModel.WorkoutId }));
        }
コード例 #4
0
        public ActionResult Edit(int id)
        {
            var exerciseInDB = _ctx.Exercises.SingleOrDefault(c => c.Id == id);

            if (exerciseInDB == null)
            {
                return(HttpNotFound());
            }

            var viewModel = new ExerciseFormViewModel()
            {
                Exercise     = exerciseInDB,
                MuscleGroups = _ctx.MuscleGroups.ToList()
            };

            return(View("ExerciseForm", viewModel));
        }
コード例 #5
0
        public ActionResult Save(Exercise exercise)
        {
            //Server side validation - start
            if (!ModelState.IsValid)
            {
                var viewModel = new ExerciseFormViewModel()
                {
                    Exercise     = exercise,
                    MuscleGroups = _ctx.MuscleGroups.ToList(),
                };

                return(View("ExerciseForm", viewModel));
            }
            //**********Server side validation - end *********
            if (exercise.Id == 0)
            {
                string imagePath = Path.GetFileNameWithoutExtension(exercise.ImageFile.FileName);
                string extension = Path.GetExtension(exercise.ImageFile.FileName);
                imagePath          = imagePath + DateTime.Now.ToString("yymmssfff") + extension;
                exercise.ImagePath = "~/ImageUploads/" + imagePath;
                imagePath          = Path.Combine(Server.MapPath("~/ImageUploads/"), imagePath);
                exercise.ImageFile.SaveAs(imagePath);
                _ctx.Exercises.Add(exercise);
            }
            else
            {
                var exerciseInDB = _ctx.Exercises.Single(c => c.Id == exercise.Id);

                exerciseInDB.Name          = exercise.Name;
                exerciseInDB.Description   = exercise.Description;
                exerciseInDB.MuscleGroupId = exercise.MuscleGroupId;
                exerciseInDB.ImagePath     = exercise.ImagePath;
            }

            _ctx.SaveChanges();
            ModelState.Clear();
            return(RedirectToAction("Index", "Exercises"));
        }