public ActionResult InquireContractAchievement(MonthlyIndicatorQueryViewModel viewModel) { ViewResult result = (ViewResult)InquireAttendancePerformance(viewModel); result.ViewName = "~/Views/BusinessConsole/Module2021/InquireContractAchievement.cshtml"; return(result); }
public ActionResult CommitAchievementIntervalReview(MonthlyIndicatorQueryViewModel viewModel) { ViewBag.ViewModel = viewModel; if (!viewModel.DateFrom.HasValue) { ModelState.AddModelError("DateFrom", "請選擇起月"); } if (!viewModel.DateTo.HasValue) { ModelState.AddModelError("DateTo", "請選擇迄月"); } if (ModelState.IsValid) { if (!(viewModel.DateFrom.Value.AddMonths(2) <= viewModel.DateTo.Value && viewModel.DateTo.Value <= viewModel.DateFrom.Value.AddMonths(12))) { ModelState.AddModelError("DateTo", "查詢月數區間錯誤"); } } if (!ModelState.IsValid) { ViewBag.ModelState = ModelState; return(View(ConsoleHomeController.InputErrorView)); } return(Json(new { result = true }, JsonRequestBehavior.AllowGet)); }
public ActionResult PrepareRevenueGoal(MonthlyIndicatorQueryViewModel viewModel, bool?forcedPrepare, bool?forcedUpdate, bool?calcAverage) { if (viewModel.KeyID != null) { viewModel.PeriodID = viewModel.DecryptKeyValue(); } if (!viewModel.Year.HasValue || !viewModel.Month.HasValue) { viewModel.Year = DateTime.Today.Year; viewModel.Month = DateTime.Today.Month; } var item = models.GetTable <MonthlyIndicator>().Where(i => i.PeriodID == viewModel.PeriodID).FirstOrDefault(); if (item == null) { item = models.GetTable <MonthlyIndicator>().Where(i => (i.Year == viewModel.Year && i.Month == viewModel.Month)).FirstOrDefault(); } if (item == null || forcedPrepare == true) { item = models.InitializeMonthlyIndicator(viewModel.Year.Value, viewModel.Month.Value, true); } item.UpdateMonthlyAchievement(models, forcedUpdate, calcAverage); item.UpdateMonthlyAchievementGoal(models); return(Json(new { result = true, message = "OK" }, JsonRequestBehavior.AllowGet)); }
public ActionResult InquireBreakEvent(MonthlyIndicatorQueryViewModel viewModel) { ViewBag.ViewModel = viewModel; IQueryable <MonthlyIndicator> items = viewModel.InquireYearlyIndicator(models); return(View("~/Views/BusinessConsole/Module2021/InquireBreakEvent.cshtml", items)); }
public ActionResult InquireAttendancePerformance(MonthlyIndicatorQueryViewModel viewModel) { ViewBag.ViewModel = viewModel; IQueryable <MonthlyIndicator> items = viewModel.InquireMonthlyIndicator(models); return(View("~/Views/BusinessConsole/Module2021/InquireAttendancePerformance.cshtml", items)); }
public ActionResult BranchCoachAchievement(MonthlyIndicatorQueryViewModel viewModel) { ViewBag.ViewModel = viewModel; if (viewModel.KeyID != null) { viewModel.PeriodID = viewModel.DecryptKeyValue(); } IQueryable <MonthlyCoachRevenueIndicator> items = models.GetTable <MonthlyCoachRevenueIndicator>() .Where(c => c.PeriodID == viewModel.PeriodID && c.BranchID == viewModel.BranchID); return(View("~/Views/BusinessConsole/Module/BranchCoachAchievement.cshtml", items)); }
public static IQueryable <MonthlyIndicator> InquireMonthlyIndicator(this MonthlyIndicatorQueryViewModel viewModel, GenericManager <BFDataContext> models) { IQueryable <MonthlyIndicator> items = models.GetTable <MonthlyIndicator>(); 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); }
public ActionResult AchievementIntervalReview(MonthlyIndicatorQueryViewModel viewModel) { ViewBag.ViewModel = viewModel; DateTime?startDate = viewModel.DateFrom; DateTime?endDate = viewModel.DateTo?.AddMonths(1); var monthlyItems = models.GetTable <MonthlyIndicator>().Where(i => i.StartDate >= startDate && i.StartDate < endDate); if (monthlyItems.Count() == 0) { return(Json(new { result = false, message = "資料錯誤!!" }, JsonRequestBehavior.AllowGet)); } return(View("~/Views/BusinessConsole/Module/AchievementIntervalReview.cshtml", monthlyItems)); }
public static IQueryable <MonthlyIndicator> InquireYearlyIndicator(this MonthlyIndicatorQueryViewModel viewModel, GenericManager <BFDataContext> models) { viewModel.DateTo = DateTime.Today; viewModel.DateFrom = new DateTime(DateTime.Today.Year, 1, 1); if (viewModel.Year.HasValue) { viewModel.DateFrom = viewModel.DateFrom.Value.AddYears(viewModel.Year.Value); } IQueryable <MonthlyIndicator> items = models.GetTable <MonthlyIndicator>(); items = items.Where(m => m.StartDate >= viewModel.DateFrom) .Where(m => m.StartDate <= viewModel.DateTo); return(items); }
public ActionResult LoadMonthlyIndicator(MonthlyIndicatorQueryViewModel viewModel) { ViewBag.ViewModel = viewModel; if (viewModel.KeyID != null) { viewModel.PeriodID = viewModel.DecryptKeyValue(); } var indicator = models.GetTable <MonthlyIndicator>().Where(c => c.PeriodID == viewModel.PeriodID).FirstOrDefault(); if (indicator == null) { return(View("~/Views/ConsoleHome/Shared/JsAlert.cshtml", model: "資料錯誤!!")); } return(View("", indicator)); }
public static MonthlyIndicator AssertMonthlyIndicator <TEntity>(this MonthlyIndicatorQueryViewModel viewModel, ModelSource <TEntity> models) where TEntity : class, new() { var item = models.GetTable <MonthlyIndicator>().Where(i => i.PeriodID == viewModel.PeriodID).FirstOrDefault(); if (item != null) { return(item); } item = models.GetTable <MonthlyIndicator>().Where(i => (i.Year == viewModel.Year && i.Month == viewModel.Month)).FirstOrDefault(); if (item != null) { return(item); } item = models.InitializeMonthlyIndicator(viewModel.Year.Value, viewModel.Month.Value); return(item); }
public static MonthlyIndicator AssertMonthlyIndicator(this MonthlyIndicatorQueryViewModel viewModel, GenericManager <BFDataContext> models) { var item = models.GetTable <MonthlyIndicator>().Where(i => i.PeriodID == viewModel.PeriodID).FirstOrDefault(); if (item != null) { return(item); } item = models.GetTable <MonthlyIndicator>().Where(i => (i.Year == viewModel.Year && i.Month == viewModel.Month)).FirstOrDefault(); if (item != null) { return(item); } item = models.InitializeMonthlyIndicator(viewModel.Year.Value, viewModel.Month.Value); return(item); }
public static MonthlyIndicator GetAlmostMonthlyIndicator <TEntity>(this MonthlyIndicatorQueryViewModel viewModel, ModelSource <TEntity> models, bool?exact = null) where TEntity : class, new() { var item = models.GetTable <MonthlyIndicator>().Where(i => i.PeriodID == viewModel.PeriodID).FirstOrDefault(); if (item != null) { return(item); } item = models.GetTable <MonthlyIndicator>().Where(i => (i.Year == viewModel.Year && i.Month == viewModel.Month)).FirstOrDefault(); if (item != null) { return(item); } if (exact == true) { return(null); } DateTime period = viewModel.Year.HasValue && viewModel.Month.HasValue ? new DateTime(viewModel.Year.Value, viewModel.Month.Value, 1) : DateTime.Today; item = models.GetTable <MonthlyIndicator>().Where(i => i.StartDate <= period) .OrderByDescending(i => i.StartDate).FirstOrDefault(); if (item != null) { return(item); } item = models.GetTable <MonthlyIndicator>().Where(i => i.StartDate > period) .OrderBy(i => i.StartDate).FirstOrDefault(); return(item); }
public ActionResult SelectBreakEventCondition(MonthlyIndicatorQueryViewModel viewModel) { ViewBag.ViewModel = viewModel; return(View("~/Views/BusinessConsole/Module2021/SelectBreakEventCondition.cshtml")); }