Ejemplo n.º 1
0
        /// <summary>
        /// 出退勤画面入力画面表示
        /// </summary>
        /// <param name="keyModel">キー情報</param>
        /// <returns>ビューモデル</returns>
        public AttendanceTimeDetailViewModel InitDetail(AttendanceTimeKeyInputModel keyModel)
        {
            AttendanceTimeDetailViewModel model = new AttendanceTimeDetailViewModel();

            AttendanceTimeModel detailModel = this.GetDetail(keyModel);

            // コピー
            ModelUtil.CopyModelToModel(detailModel, model);

            // リストボックス用のデータを取得する
            // 勤務区分
            model.OptionWorkKind = new List <SelectListItem>();
            // 空行追加
            model.OptionWorkKind.Add(new SelectListItem());

            List <M201CodeMst> workKindList = this._M201CodeMstRepository.GetCodeMstList(M201CodeMstRepository.CD_KIND_WORK_KIND);

            foreach (var dbItem in workKindList)
            {
                SelectListItem item = new SelectListItem()
                {
                    Value = dbItem.Cd,
                    Text  = dbItem.Name
                };
                model.OptionWorkKind.Add(item);
            }

            // 休日区分
            model.OptionHolidayKind = new List <SelectListItem>();

            List <M201CodeMst> holidayKindList = this._M201CodeMstRepository.GetCodeMstList(M201CodeMstRepository.CD_KIND_HOLIDAY_KIND);

            foreach (var dbItem in holidayKindList)
            {
                SelectListItem item = new SelectListItem()
                {
                    Value = dbItem.Cd,
                    Text  = dbItem.Name
                };
                model.OptionHolidayKind.Add(item);
            }

            return(model);
        }
Ejemplo n.º 2
0
        public ActionResult DetailInputIndex(AttendanceTimeKeyInputModel inputModel)
        {
            AttendanceTimeDetailViewModel viewModel = null;

            if (!ModelState.IsValid)
            {
                // 通常の方法では入力エラーにならないため例外を発生させる
                throw new ArgumentException();
            }
            ModelState.Clear();

            // リダイレクトされた場合でModelStateが引き渡された場合はModelStateをマージする。
            this._ControllerSupport.LoadMessageForRedirect();

            viewModel = this._ControllerSupport.InvokeServiceAndSetMessage(
                _AttendanceTimeService, m => m.InitDetail(inputModel), _SessionManager.GetUserInfoModel(), string.Empty);

            return(PartialView("DetailInput", viewModel));
        }