public IViewComponentResult Invoke(ExercisePurposeViewModel viewModel) { models = (ModelSource <UserProfile>)HttpContext.Items["Models"]; _modelState = ViewContext.ModelState; return(LoadCompleteExercisePurposeItems(viewModel)); }
public override IViewComponentResult Invoke(ExercisePurposeViewModel viewModel) { models = (ModelSource <UserProfile>)HttpContext.Items["Models"]; _modelState = ViewContext.ModelState; return(EditExercisePurpose(viewModel)); }
public virtual IViewComponentResult Invoke(ExercisePurposeViewModel viewModel) { models = (ModelSource <UserProfile>)HttpContext.Items["Models"]; _modelState = ViewContext.ModelState; return(View()); }
public ActionResult CommitLearnerFeature(ExercisePurposeViewModel viewModel) { ActionResult result = prepareLearner(viewModel, out UserProfile item); if (result != null) { return(result); } viewModel.AbilityStyle = viewModel.AbilityStyle.GetEfficientString(); if (viewModel.AbilityStyle == null) { ModelState.AddModelError("AbilityStyle", "請選擇運動類型"); } if (!viewModel.AbilityLevel.HasValue) { ModelState.AddModelError("AbilityLevel", "請選擇Level"); } if ((!viewModel.Cardiopulmonary.HasValue || viewModel.Cardiopulmonary == 0) && (!viewModel.MuscleStrength.HasValue || viewModel.MuscleStrength == 0) && (!viewModel.Flexibility.HasValue || viewModel.Flexibility == 0)) { ModelState.AddModelError("StrengthFeature", "請選擇至少一項強度"); } if (!ModelState.IsValid) { ViewBag.ModelState = ModelState; return(View(ConsoleHomeController.InputErrorView)); } if (item.PersonalExercisePurpose == null) { item.PersonalExercisePurpose = new PersonalExercisePurpose { }; } viewModel.Ability = $"{viewModel.AbilityStyle}({viewModel.AbilityLevel})"; var purpose = item.PersonalExercisePurpose; //purpose.Purpose = viewModel.Purpose; purpose.PowerAbility = viewModel.Ability; purpose.Flexibility = viewModel.Flexibility; purpose.Cardiopulmonary = viewModel.Cardiopulmonary; purpose.MuscleStrength = viewModel.MuscleStrength; purpose.AbilityStyle = viewModel.AbilityStyle; purpose.AbilityLevel = (int?)viewModel.AbilityLevel; models.SubmitChanges(); return(Json(new { result = true, message = viewModel.Ability })); }
public ActionResult LoadCompleteExercisePurposeItems(ExercisePurposeViewModel viewModel) { ViewBag.ViewModel = viewModel; var items = models.GetTable <PersonalExercisePurposeItem>() .Where(p => p.UID == viewModel.UID) .Where(p => p.CompleteDate.HasValue) .OrderByDescending(p => p.CompleteDate); return(View("~/Views/LearnerProfile/Module/TrainingMilestoneItems.cshtml", items)); }
public ActionResult DeletePurposeItem(ExercisePurposeViewModel viewModel) { ViewBag.ViewModel = viewModel; var item = models.DeleteAny <PersonalExercisePurposeItem>(p => p.UID == viewModel.UID && p.ItemID == viewModel.ItemID); if (item == null) { return(Json(new { result = false, message = "資料錯誤!!" })); } return(Json(new { result = true })); }
public ActionResult EditPowerAbility(ExercisePurposeViewModel viewModel) { ViewBag.ViewModel = viewModel; var item = models.GetTable <UserProfile>().Where(u => u.UID == viewModel.UID).FirstOrDefault(); if (item == null) { return(View("~/Views/Shared/JsAlert.cshtml", model: "學員資料錯誤!!")); } return(View("~/Views/ClassFacet/Module/EditPowerAbility.ascx", item)); }
public IViewComponentResult EditExercisePurpose(ExercisePurposeViewModel viewModel) { ViewViewComponentResult result = (ViewViewComponentResult)EditLearnerFeature(viewModel); if (result.ViewData.Model is not UserProfile) { return(result); } result.ViewName = "~/Views/LearnerProfile/Module/EditExercisePurpose.cshtml"; return(result); }
public ActionResult EditExercisePurpose(ExercisePurposeViewModel viewModel) { ViewResult result = (ViewResult)EditLearnerFeature(viewModel); if (!(result.Model is UserProfile item)) { return(result); } result.ViewName = "~/Views/LearnerProfile/Module/EditExercisePurpose.cshtml"; return(result); }
public ActionResult GetPowerAbility(ExercisePurposeViewModel viewModel) { ViewResult result = (ViewResult)EditPowerAbility(viewModel); UserProfile item = result.Model as UserProfile; if (item == null || item.PersonalExercisePurpose == null) { return(Json(new object { }, JsonRequestBehavior.AllowGet)); } var data = item.PersonalExercisePurpose; return(Json(new { data.Cardiopulmonary, data.Flexibility, data.MuscleStrength, data.PowerAbility })); }
public ActionResult GetPowerAbility(ExercisePurposeViewModel viewModel) { ViewResult result = (ViewResult)EditPowerAbility(viewModel); UserProfile item = result.Model as UserProfile; if (item == null || item.PersonalExercisePurpose == null) { return(Json(new object { })); } var data = item.PersonalExercisePurpose; return(Content(new { data.Cardiopulmonary, data.Flexibility, data.MuscleStrength, data.PowerAbility }.JsonStringify(), "application/json")); }
public ActionResult CompletePurposeItem(ExercisePurposeViewModel viewModel) { ViewBag.ViewModel = viewModel; var item = models.GetTable <PersonalExercisePurposeItem>().Where(p => p.UID == viewModel.UID && p.ItemID == viewModel.ItemID).FirstOrDefault(); if (item == null) { return(Json(new { result = false, message = "資料錯誤!!" })); } item.CompleteDate = DateTime.Now; models.SubmitChanges(); return(Json(new { result = true })); }
private ActionResult prepareLearner(ExercisePurposeViewModel viewModel, out UserProfile item) { ViewBag.ViewModel = viewModel; if (viewModel.KeyID != null) { viewModel.UID = viewModel.DecryptKeyValue(); } item = models.GetTable <UserProfile>().Where(u => u.UID == viewModel.UID).FirstOrDefault(); if (item == null) { return(View("~/Views/ConsoleHome/Shared/AlertMessage.ascx", model: "學員資料錯誤!!")); } return(null); }
public ActionResult CommitPurposeItem(ExercisePurposeViewModel viewModel) { ViewBag.ViewModel = viewModel; var item = models.GetTable <UserProfile>().Where(u => u.UID == viewModel.UID).FirstOrDefault(); if (item == null) { return(View("~/Views/Shared/JsAlert.cshtml", model: "學員資料錯誤!!")); } viewModel.PurposeItem = viewModel.PurposeItem.GetEfficientString(); if (viewModel.PurposeItem == null || viewModel.PurposeItem.Length > 20) { return(Json(new { result = false, message = "請輸入目標最多20個字!!" })); } item.AssertPurposeItem(models, viewModel.PurposeItem); return(Json(new { result = true })); }
public ActionResult ExercisePurposeItemList(ExercisePurposeViewModel viewModel) { ViewBag.ViewModel = viewModel; ViewBag.IsComplete = viewModel.IsComplete; var item = models.GetTable <PersonalExercisePurpose>().Where(u => u.UID == viewModel.UID).FirstOrDefault(); if (item == null) { return(View("~/Views/Shared/JsAlert.cshtml", model: "學員資料錯誤!!")); } if (viewModel.IsComplete == true) { return(View("~/Views/ClassFacet/Module/CompletePurposeItemList.ascx", item)); } else { return(View("~/Views/ClassFacet/Module/ExercisePurposeItemList.ascx", item)); } }
public ActionResult CommitExercisePurpose(ExercisePurposeViewModel viewModel) { ViewBag.ViewModel = viewModel; var item = models.GetTable <UserProfile>().Where(u => u.UID == viewModel.UID).FirstOrDefault(); if (item == null) { return(View("~/Views/Shared/JsAlert.cshtml", model: "學員資料錯誤!!")); } if (item.PersonalExercisePurpose == null) { item.PersonalExercisePurpose = new PersonalExercisePurpose { }; } item.PersonalExercisePurpose.Purpose = viewModel.Purpose; models.SubmitChanges(); return(Json(new { result = true, message = viewModel.Purpose })); }
public ActionResult CommitPowerAbility(ExercisePurposeViewModel viewModel) { ViewResult result = (ViewResult)EditPowerAbility(viewModel); UserProfile item = result.Model as UserProfile; if (item == null) { return(result); } if (item.PersonalExercisePurpose == null) { item.PersonalExercisePurpose = new PersonalExercisePurpose { }; } switch (viewModel.Feature) { case "Flexibility": item.PersonalExercisePurpose.Flexibility = viewModel.Point; break; case "Cardiopulmonary": item.PersonalExercisePurpose.Cardiopulmonary = viewModel.Point; break; case "MuscleStrength": item.PersonalExercisePurpose.MuscleStrength = viewModel.Point; break; default: item.PersonalExercisePurpose.PowerAbility = viewModel.Ability; break; } models.SubmitChanges(); return(Json(new { result = true, message = viewModel.Ability })); }
public ActionResult EditLearnerFeature(ExercisePurposeViewModel viewModel) { ActionResult result = prepareLearner(viewModel, out UserProfile item); if (result != null) { return(result); } var purpose = item.PersonalExercisePurpose; if (purpose != null) { viewModel.Purpose = purpose.Purpose.GetEfficientString(); viewModel.Ability = purpose.PowerAbility; viewModel.Cardiopulmonary = purpose.Cardiopulmonary; viewModel.Flexibility = purpose.Flexibility; viewModel.MuscleStrength = purpose.MuscleStrength; viewModel.AbilityStyle = purpose.AbilityStyle; viewModel.AbilityLevel = (Naming.PowerAbilityLevel?)purpose.AbilityLevel; } return(View("~/Views/LearnerProfile/Module/EditLearnerFeature.cshtml", item)); }
public ActionResult CommitExercisePurpose(ExercisePurposeViewModel viewModel) { ActionResult result = prepareLearner(viewModel, out UserProfile item); if (result != null) { return(result); } viewModel.Purpose = viewModel.Items?.Purpose.GetEfficientString(); if (viewModel.Purpose == null) { ModelState.AddModelError("Purpose", "週期性目標"); } var itemCount = models.GetTable <PersonalExercisePurposeItem>() .Where(p => !p.CompleteDate.HasValue) .Where(p => p.UID == item.UID).Count(); if (viewModel.Items != null) { if (viewModel.Items.ItemID != null) { foreach (var id in viewModel.Items.ItemID) { if (models.GetTable <PersonalExercisePurposeItem>().Any(p => p.UID == item.UID && p.ItemID == id)) { itemCount--; } } } if (viewModel.Items.PurposeItem != null) { itemCount = itemCount + viewModel.Items.PurposeItem .Select(i => i.GetEfficientString()) .Where(i => i != null).Count(); } } if (!(itemCount >= 1 && itemCount <= 3)) { ModelState.AddModelError("PurposeItem", "近期目標至少一項,最多三項!"); } if (!ModelState.IsValid) { ViewBag.ModelState = ModelState; return(View(ConsoleHomeController.InputErrorView)); } if (item.PersonalExercisePurpose == null) { item.PersonalExercisePurpose = new PersonalExercisePurpose { }; } var purpose = item.PersonalExercisePurpose; //purpose.Purpose = viewModel.Purpose; purpose.Purpose = viewModel.Purpose; if (viewModel.Items != null) { if (viewModel.Items.ItemID != null) { foreach (var id in viewModel.Items.ItemID) { models.ExecuteCommand("delete PersonalExercisePurposeItem where UID = {0} and ItemID = {1}", item.UID, id); } } if (viewModel.Items.PurposeItem != null) { foreach (var p in viewModel.Items.PurposeItem .Select(i => i.GetEfficientString()) .Where(i => i != null)) { models.GetTable <PersonalExercisePurposeItem>().InsertOnSubmit(new PersonalExercisePurposeItem { PersonalExercisePurpose = purpose, InitialDate = DateTime.Now, PurposeItem = p }); } } } models.SubmitChanges(); return(Json(new { result = true, message = viewModel.Purpose })); }