public ActionResult CreateUnallocatedLearnerListXlsx(LearnerQueryViewModel viewModel, String tableName) { ViewResult result = (ViewResult)InquireLearner(viewModel); IQueryable <UserProfile> items = result.Model as IQueryable <UserProfile>; if (items == null) { ViewBag.GoBack = true; return(View("~/Views/Shared/JsAlert.cshtml", model: "資料錯誤!!")); } items = items.Where(u => !u.LearnerFitnessAdvisor.Any()) .Where(l => l.UserProfileExtension != null && !l.UserProfileExtension.CurrentTrial.HasValue); renderToXlsx(items, $"UnallocatedLearner({DateTime.Now:yyyy-MM-dd HH-mm-ss})"); return(new EmptyResult()); }
public ActionResult CommitAdvisorAssignment(LearnerQueryViewModel viewModel) { ViewBag.ViewModel = viewModel; if (viewModel.KeyID != null) { viewModel.UID = viewModel.DecryptKeyValue(); } if (!viewModel.CoachID.HasValue) { ModelState.AddModelError("CoachID", "請選擇體能顧問"); } if (!viewModel.UID.HasValue) { ModelState.AddModelError("UID", "請選擇學員"); } if (!ModelState.IsValid) { ViewBag.ModelState = this.ModelState; return(View("~/Views/Shared/ReportInputError.ascx")); } if (viewModel.DataOperation == Naming.DataOperationMode.Delete) { models.DeleteAny <LearnerFitnessAdvisor>(a => a.UID == viewModel.UID && a.CoachID == viewModel.CoachID); } else { if (!models.GetTable <LearnerFitnessAdvisor>().Any(f => f.UID == viewModel.UID && f.CoachID == viewModel.CoachID)) { models.GetTable <LearnerFitnessAdvisor>().InsertOnSubmit(new LearnerFitnessAdvisor { UID = viewModel.UID.Value, CoachID = viewModel.CoachID.Value }); models.SubmitChanges(); } } return(Json(new { result = true })); }
public ActionResult ShowLearnerAboutToBirth(LearnerQueryViewModel viewModel) { ViewBag.ViewModel = viewModel; var items = models.PromptLearner(viewModel.IncludeTrial == true); if (viewModel.KeyID != null) { viewModel.CoachID = viewModel.DecryptKeyValue(); } if (viewModel.CoachID.HasValue) { var coach = models.GetTable <ServingCoach>().Where(c => c.CoachID == viewModel.CoachID).FirstOrDefault(); items = items.FilterLearnerByAdvisor(coach, models); } if (viewModel.BirthIncomingDays.HasValue) { items = items.FilterLearnerWithBirthday(DateTime.Today, DateTime.Today.AddDays(viewModel.BirthIncomingDays.Value)); } return(View("~/Views/LearnerProfile/ProfileModal/LearnerAboutToBirth.cshtml", items)); }
public ActionResult InquireLearner(LearnerQueryViewModel viewModel) { IQueryable <UserProfile> items = models.GetTable <UserProfile>() .FilterByLearner(models, true); Expression <Func <UserProfile, bool> > queryExpr = u => false; bool hasCondition = false; viewModel.RealName = viewModel.RealName.GetEfficientString(); if (viewModel.RealName != null) { queryExpr = queryExpr.Or(m => m.RealName.Contains(viewModel.RealName) || m.Nickname.Contains(viewModel.RealName)); hasCondition = true; } if (!hasCondition) { viewModel.IDNo = viewModel.IDNo.GetEfficientString(); if (viewModel.IDNo != null) { queryExpr = queryExpr.Or(c => c.UserProfileExtension.IDNo.StartsWith(viewModel.IDNo)); hasCondition = true; } } if (!hasCondition) { viewModel.Phone = viewModel.Phone.GetEfficientString(); if (viewModel.Phone != null) { queryExpr = queryExpr.Or(c => c.Phone == viewModel.Phone); hasCondition = true; } } if (!hasCondition) { if (viewModel.UID.HasValue) { queryExpr = queryExpr.Or(c => c.UID == viewModel.UID); hasCondition = true; } } if (!hasCondition) { if (viewModel.CoachID.HasValue) { queryExpr = queryExpr.Or(c => c.LearnerFitnessAdvisor.Any(a => a.CoachID == viewModel.CoachID)); hasCondition = true; } } if (hasCondition) { items = items.Where(queryExpr); } if (viewModel.CurrentTrial.HasValue) { if (viewModel.CurrentTrial == 1) { items = items.Where(u => u.UserProfileExtension.CurrentTrial.HasValue); } else { items = items.Where(u => !u.UserProfileExtension.CurrentTrial.HasValue); } } if (viewModel.MemberStatus.HasValue) { items = items.Where(u => u.LevelID == (int)viewModel.MemberStatus); } viewModel.Gender = viewModel.Gender.GetEfficientString(); if (viewModel.Gender != null) { items = items.Where(u => u.UserProfileExtension.Gender == viewModel.Gender); } if (viewModel.AthleticLevel.HasValue) { items = items.Where(u => u.UserProfileExtension.AthleticLevel == viewModel.AthleticLevel); } return(View("~/Views/Learner/Module/LearnerList.ascx", items)); }