private Exercise MapExerciseViewModel(ExerciseViewModel model) { var sets = new List<Set>(); foreach (var set in model.Sets) { sets.Add(MapSetViewModel(set)); } var exercise = new Exercise { Id = model.Id, Comment = model.Comment, ExerciseType = model.ExerciseType, Sets = sets }; return exercise; }
public async Task <IActionResult> List(FieldSort currentSort, int currentPage = 1, string sortBy = "") { if (TempData["ElementErrorShort"] != null || TempData["ElementErrorLong"] != null) { ModelState.AddModelError((string)TempData["ElementErrorShort"], (string)TempData["ElementErrorLong"] ?? (string)TempData["ElementErrorShort"]); } var exercises = await appContext.Exercises.ToListAsync(); int totalItems = exercises.Count; var model = new ExerciseViewModel { CurrentPage = currentPage, CurrentSort = currentSort, ItemOnPages = itemOnPages, TotalItems = totalItems, SortBy = sortBy }; #region Pagination if (String.IsNullOrEmpty(sortBy)) { switch (currentSort) { case FieldSort.nameAscend: model.Items = exercises.OrderBy(x => x.Name).Skip((currentPage - 1) * itemOnPages).Take(itemOnPages).ToList(); break; case FieldSort.nameDescend: model.Items = exercises.OrderByDescending(x => x.Name).Skip((currentPage - 1) * itemOnPages).Take(itemOnPages).ToList(); break; case FieldSort.descriptionAscend: model.Items = exercises.OrderBy(x => x.Description).Skip((currentPage - 1) * itemOnPages).Take(itemOnPages).ToList(); break; case FieldSort.descriptionDescend: model.Items = exercises.OrderByDescending(x => x.Description).Skip((currentPage - 1) * itemOnPages).Take(itemOnPages).ToList(); break; default: model.Items = exercises.OrderBy(x => x.Name).Skip((currentPage - 1) * itemOnPages).Take(itemOnPages).ToList(); break; } return(View(model)); } #endregion #region Sorting if (sortBy == "name") { if (currentSort == FieldSort.nameAscend) { model.CurrentSort = FieldSort.nameDescend; model.Items = exercises.OrderByDescending(x => x.Name).Skip((currentPage - 1) * itemOnPages).Take(itemOnPages).ToList(); } else { model.CurrentSort = FieldSort.nameAscend; model.Items = exercises.OrderBy(x => x.Name).Skip((currentPage - 1) * itemOnPages).Take(itemOnPages).ToList(); } } else if (sortBy == "description") { if (currentSort == FieldSort.descriptionAscend) { model.CurrentSort = FieldSort.descriptionDescend; model.Items = exercises.OrderByDescending(x => x.Description).Skip((currentPage - 1) * itemOnPages).Take(itemOnPages).ToList(); } else { model.CurrentSort = FieldSort.descriptionAscend; model.Items = exercises.OrderBy(x => x.Description).Skip((currentPage - 1) * itemOnPages).Take(itemOnPages).ToList(); } } else { model.CurrentSort = FieldSort.nameAscend; model.Items = exercises.OrderBy(x => x.Name).Skip((currentPage - 1) * itemOnPages).Take(itemOnPages).ToList(); } #endregion return(View(model)); }
private ExerciseViewModel MapExercise(Exercise model) { var sets = new List<SetViewModel>(); foreach (var set in model.Sets) { sets.Add(MapSet(set)); } var viewModel = new ExerciseViewModel { Id = model.Id, Comment = model.Comment, ExerciseType = model.ExerciseType, Sets = sets }; return viewModel; }
//GET Exercises public ActionResult Exercises(string UID) { ViewBag.UserLoggedIn = true; if (UID == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } PersonalTrainer personalTrainer = db.PersonalTrainers.Where(p => p.UserID == UID).SingleOrDefault(); //Get Workouts to Return Model if (personalTrainer == null) { return(HttpNotFound()); } //Return the ExerciseViewModel based on the Trainer UID List <ExerciseViewModel> evmList = new List <ExerciseViewModel>(); List <Exercise> exercises = new List <Exercise>(); exercises = db.Exercises.Where(e => e.PersonalTrainerID == UID).ToList(); //Only add to EVMList if there are exercises for that trainer in the DB if (exercises != null) { foreach (var e in exercises) { Video video = db.Videos.Where(v => v.ExerciseID == e.ID).SingleOrDefault(); if (video != null) { ExerciseViewModel evm = new ExerciseViewModel() { ExerciseID = e.ID, ExerciseTitle = e.Title, ExerciseDescription = e.Description, VideoTitle = video.Title, VideoDescription = video.Description, VideoURL = video.URL, PersonalTrainerID = e.PersonalTrainerID, NullVideoInd = false }; evmList.Add(evm); } if (video == null) { ExerciseViewModel evm = new ExerciseViewModel() { ExerciseID = e.ID, ExerciseTitle = e.Title, ExerciseDescription = e.Description, PersonalTrainerID = e.PersonalTrainerID, NullVideoInd = true }; evmList.Add(evm); } } } //return List of EVM return(View(evmList)); }
public ActionResult CreateExercise(ExerciseViewModel exercise) { string UID = exercise.PersonalTrainerID; if (exercise.ExerciseTitle == null) { ModelState.AddModelError("", "Please enter a Title"); } if (exercise.ExerciseDescription == null) { ModelState.AddModelError("", "Please enter a Description"); } if (exercise.VideoTitle != null && exercise.VideoURL == null) { ModelState.AddModelError("", "Please enter a Video URL"); } //If success - return JSON with success. JS will do the Get to reload the page if (ModelState.IsValid) { //create Exercise Instance Exercise newExercise = new Exercise() { Title = exercise.ExerciseTitle, Description = exercise.ExerciseDescription, PersonalTrainerID = UID }; db.Exercises.Add(newExercise); db.SaveChanges(); //Need to make Video not required if (exercise.VideoTitle != null) { //Create Video Instance Video newVideo = new Video() { Title = exercise.VideoTitle, ExerciseID = newExercise.ID, URL = exercise.VideoURL }; //Store in DB db.Videos.Add(newVideo); db.SaveChanges(); } return(Json(new { createStatus = "success", UID })); } //If error - return Model State errors List <string> errors = new List <string>(); foreach (var v in ModelState.Values) { foreach (var e in v.Errors) { errors.Add(e.ErrorMessage); } } return(Json(new { createStatus = "fail", errors, UID })); }
public ViewPhysiotherapistExercisePage(ExerciseViewModel exercise) { InitializeComponent(); _selectedExercise = exercise; }
protected override void OnAppearing() { ExerciseViewModel EVM = (ExerciseViewModel)exercisetable.BindingContext; EVM.loadExercise(App.Instance.date); }
public async Task <bool> UnfavoriteExerciseAsync(ExerciseViewModel exercise) { return(await _exerciseFavoriteResource.DeleteFavoriteExerciseAsync(Resource.UserId, exercise.Id)); }
public async Task <bool> FavoriteExerciseAsync(ExerciseViewModel exerciseViewModel) { return(await _exerciseFavoriteResource.CreateFavoriteExerciseAsync(Resource.UserId, exerciseViewModel.Id)); }
public ViewPatientExercisePage(ExerciseViewModel exercise) { InitializeComponent(); _selectedExercise = exercise; }