示例#1
0
        public ActionResult ShowSalaryDetails(CoachBonusViewModel viewModel)
        {
            ViewBag.ViewModel = viewModel;
            CoachBonusViewModel tmpModel = viewModel;

            if (viewModel.KeyID != null)
            {
                tmpModel = JsonConvert.DeserializeObject <CoachBonusViewModel>(viewModel.KeyID.DecryptKey());
            }

            var salary = models.GetTable <MonthlySalaryDetails>()
                         .Where(s => s.SalaryID == tmpModel.SalaryID)
                         .Where(s => s.UID == tmpModel.UID).FirstOrDefault();

            if (salary == null)
            {
                ModelState.AddModelError("Message", "資料錯誤!!");
            }

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

            if (viewModel.DialogID != null)
            {
                return(View("~/Views/ConsoleHome/Salary/SalaryDetailsModal.cshtml", salary));
            }
            else
            {
                return(View("~/Views/ConsoleHome/Salary/SalaryDetails.cshtml", salary));
            }
        }
        public ActionResult CommitSingleCoachBonus(CoachBonusViewModel viewModel)
        {
            ViewResult         result = (ViewResult)ProcessBonus(viewModel);
            CoachMonthlySalary item   = result.Model as CoachMonthlySalary;

            if (item == null)
            {
                return(result);
            }

            if (!viewModel.SpecialBonus.HasValue && !viewModel.ManagerBonus.HasValue)
            {
                ModelState.AddModelError("ManagerBonus", "請輸入管理獎金");
                ModelState.AddModelError("SpecialBonus", "請輸特別獎金");
            }

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

            item.SpecialBonus = viewModel.SpecialBonus;
            item.ManagerBonus = viewModel.ManagerBonus;

            models.SubmitChanges();

            return(Json(new { result = true }));
        }
        public ActionResult EditCoachBonus(CoachBonusViewModel viewModel)
        {
            ViewResult         result = (ViewResult)ProcessBonus(viewModel);
            CoachMonthlySalary item   = result.Model as CoachMonthlySalary;

            if (item == null)
            {
                return(result);
            }

            viewModel.SpecialBonus = item.SpecialBonus;
            viewModel.ManagerBonus = item.ManagerBonus;

            return(View("~/Views/BonusCredit/BonusModal/EditCoachBonus.cshtml", item));
        }
        public ActionResult ClearCoachBonus(CoachBonusViewModel viewModel)
        {
            ViewResult         result = (ViewResult)ProcessBonus(viewModel);
            CoachMonthlySalary item   = result.Model as CoachMonthlySalary;

            if (item == null)
            {
                return(result);
            }

            item.SpecialBonus = (int?)null;
            item.ManagerBonus = (int?)null;

            models.SubmitChanges();

            return(Json(new { result = true }));
        }
        public ActionResult ProcessBonus(CoachBonusViewModel viewModel)
        {
            ViewBag.ViewModel = viewModel;

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

            var item = models.GetTable <CoachMonthlySalary>()
                       .Where(c => c.SettlementID == viewModel.SettlementID)
                       .Where(c => c.CoachID == viewModel.CoachID)
                       .FirstOrDefault();

            if (item == null)
            {
                return(View("~/Views/ConsoleHome/Shared/AlertMessage.cshtml", model: "獎金資料錯誤!!"));
            }

            return(View("~/Views/BonusCredit/Module/ProcessBonus.cshtml", item));
        }