public IViewComponentResult Invoke(LessonQueryViewModel viewModel)
        {
            models      = (ModelSource <UserProfile>)HttpContext.Items["Models"];
            _modelState = ViewContext.ModelState;

            return(InquireLesson(viewModel));
        }
コード例 #2
0
        public ActionResult ShowMonthlySalary(LessonQueryViewModel viewModel)
        {
            ViewBag.ViewModel = viewModel;

            if (!viewModel.DateFrom.HasValue)
            {
                ModelState.AddModelError("DateFrom", "請選擇起月");
            }

            if (!viewModel.DateTo.HasValue)
            {
                ModelState.AddModelError("DateTo", "請選擇迄月");
            }

            if (ModelState.IsValid)
            {
                if (!(viewModel.DateFrom <= viewModel.DateTo.Value && viewModel.DateTo.Value <= viewModel.DateFrom.Value.AddMonths(12)))
                {
                    ModelState.AddModelError("DateFrom", "查詢月數區間錯誤");
                }
            }

            if (!ModelState.IsValid)
            {
                ViewBag.ModelState = ModelState;
                return(View(ConsoleHomeController.InputErrorView));
            }

            return(Json(new { result = true }));
        }
コード例 #3
0
        public ActionResult InquireMonthlySalary(LessonQueryViewModel viewModel)
        {
            ViewBag.ViewModel = viewModel;

            if (viewModel.KeyID != null)
            {
                viewModel.UID = viewModel.DecryptKeyValue();
            }

            var salaryItems = models.GetTable <MonthlySalary>()
                              .Where(t => t.Payday <= DateTime.Today);

            if (viewModel.DateFrom.HasValue)
            {
                salaryItems = salaryItems.Where(t => t.Payday >= viewModel.DateFrom);
            }
            if (viewModel.DateTo.HasValue)
            {
                salaryItems = salaryItems.Where(t => t.Payday < viewModel.DateTo.Value.AddMonths(1));
            }

            IQueryable <MonthlySalaryDetails> items = models.GetTable <MonthlySalaryDetails>()
                                                      //.Where(t => t.SettlementID.HasValue)
                                                      .Where(c => c.UID == viewModel.UID)
                                                      .Join(salaryItems, s => s.SalaryID, m => m.SalaryID, (s, m) => s);

            return(View("~/Views/ConsoleHome/Salary/MonthlySalaryList.cshtml", items));
        }
コード例 #4
0
        public ActionResult QueryQuestionnaire(LessonQueryViewModel viewModel, bool?committed)
        {
            ViewBag.ViewModel = viewModel;

            IQueryable <QuestionnaireRequest> items = models.GetTable <QuestionnaireRequest>();

            if (committed == true)
            {
                items = items.Where(q => q.PDQTask.Any());
            }
            else
            {
                items = items.Where(q => !q.PDQTask.Any());
            }

            if (viewModel.QueryStart.HasValue)
            {
                items = items.Where(q => q.RequestDate >= viewModel.QueryStart && q.RequestDate < viewModel.QueryStart.Value.AddMonths(1));
            }
            if (viewModel.CoachID.HasValue)
            {
                var uid = models.GetTable <LearnerFitnessAdvisor>().Where(l => l.CoachID == viewModel.CoachID).Select(l => l.UID);
                items = items.Where(q => uid.Contains(q.UID));
            }

            return(View("~/Views/CoachFacet/Module/QuestionnaireList.ascx", items));
        }
コード例 #5
0
        public ActionResult ShowLearnerToCommit(LessonQueryViewModel viewModel, Naming.LessonQueryType?query)
        {
            ViewResult result             = (ViewResult)QueryLesson(viewModel);
            IQueryable <LessonTime> items = (IQueryable <LessonTime>)result.Model;

            items = items
                    .Where(l => !l.LessonPlan.CommitAttendance.HasValue);

            items = items.ByLessonQueryType(query);

            return(View("~/Views/CoachFacet/Module/DailyBookingList.ascx", items));
        }
コード例 #6
0
        public ActionResult ShowCoachToCommit(LessonQueryViewModel viewModel, Naming.LessonQueryType?query)
        {
            ViewResult result             = (ViewResult)QueryLesson(viewModel);
            IQueryable <LessonTime> items = (IQueryable <LessonTime>)result.Model;

            items = items
                    .Where(t => t.LessonAttendance == null);

            items = items.ByLessonQueryType(query);

            return(View("~/Views/CoachFacet/Module/DailyBookingList.ascx", items));
        }
コード例 #7
0
        public ActionResult LessonsSummary(LessonQueryViewModel viewModel)
        {
            var profile = HttpContext.GetUser();

            //if (!viewModel.CoachID.HasValue && !profile.IsSysAdmin())
            //{
            //    viewModel.CoachID = profile.UID;
            //}

            ViewBag.ViewModel    = viewModel;
            ViewBag.CurrentCoach = models.GetTable <ServingCoach>().Where(s => s.CoachID == viewModel.CoachID).FirstOrDefault();
            var item = models.GetTable <UserProfile>().Where(s => s.UID == profile.UID).FirstOrDefault();

            return(View("~/Views/CoachFacet/Module/LessonsSummary.ascx", item));
        }
コード例 #8
0
        public static IQueryable <Settlement> InquireMonthlySettlement(this LessonQueryViewModel viewModel, GenericManager <BFDataContext> models)
        {
            IQueryable <Settlement> items = models.GetTable <Settlement>();

            if (viewModel.DateFrom.HasValue)
            {
                items = items.Where(m => m.StartDate >= viewModel.DateFrom);
            }

            if (viewModel.DateTo.HasValue)
            {
                items = items.Where(m => m.StartDate < viewModel.DateTo.Value.AddMonths(1));
            }

            return(items);
        }
コード例 #9
0
        public ActionResult QueryLesson(LessonQueryViewModel viewModel)
        {
            ViewBag.ViewModel = viewModel;
            IQueryable <LessonTime> items = models.GetTable <LessonTime>();

            if (viewModel.CoachID.HasValue)
            {
                items = items.Where(t => t.AttendingCoach == viewModel.CoachID);
            }
            if (viewModel.QueryStart.HasValue)
            {
                items = items.Where(t => t.ClassTime >= viewModel.QueryStart && t.ClassTime < viewModel.QueryStart.Value.AddMonths(1));
            }
            if (viewModel.ClassTime.HasValue)
            {
                items = items.Where(t => t.ClassTime >= viewModel.ClassTime && t.ClassTime < viewModel.ClassTime.Value.AddDays(1));
            }

            return(View("~/Views/CoachFacet/Module/LessonsSummaryReport.ascx", items));
        }
コード例 #10
0
        public IViewComponentResult InquireLesson(LessonQueryViewModel viewModel)
        {
            ViewBag.ViewModel = viewModel;

            IQueryable <LessonTime> items = models.GetTable <LessonTime>();
            IQueryable <LessonTime> coachPI;

            if (viewModel.LearnerID.HasValue)
            {
                items   = viewModel.LearnerID.Value.PromptLearnerLessons(models);
                coachPI = viewModel.LearnerID.Value.PromptCoachPILessons(models);
            }
            else
            {
                coachPI = models.GetTable <LessonTime>().Where(l => false);
            }

            if (viewModel.CoachID.HasValue)
            {
                items = items.Where(t => t.AttendingCoach == viewModel.CoachID);
            }

            if (viewModel.DateFrom.HasValue)
            {
                items   = items.Where(t => t.ClassTime >= viewModel.DateFrom && t.ClassTime < viewModel.DateFrom.Value.AddMonths(1));
                coachPI = coachPI.Where(t => t.ClassTime >= viewModel.DateFrom && t.ClassTime < viewModel.DateFrom.Value.AddMonths(1));
            }

            if (viewModel.ClassTime.HasValue)
            {
                items   = items.Where(t => t.ClassTime >= viewModel.ClassTime && t.ClassTime < viewModel.ClassTime.Value.AddDays(1));
                coachPI = coachPI.Where(t => t.ClassTime >= viewModel.ClassTime && t.ClassTime < viewModel.ClassTime.Value.AddDays(1));
            }

            return(View("~/Views/LearnerProfile/Module/LessonItems.cshtml", items.Union(coachPI)));
        }
コード例 #11
0
 public ActionResult SelectQueryInterval(LessonQueryViewModel viewModel)
 {
     ViewBag.ViewModel = viewModel;
     return(View("~/Views/AchievementConsole/Module/SelectQueryInterval.cshtml"));
 }