Esempio n. 1
0
        /// <summary>
        /// 主キーによる出退勤時間取得
        /// </summary>
        /// <param name="key">主キー</param>
        /// <returns>出退勤時間(該当なしはnull)</returns>
        public V200AttendanceTime GetAttendanceTimeByKey(AttendanceTimeConditionModel key)
        {
            IQueryable <V200AttendanceTime> query = this._DbContext.V200_ATTENDANCE_TIME.Where(
                m => m.UserId == key.UserId && m.WorkYear == key.WorkYear && m.WorkMonth == key.WorkMonth &&
                m.WorkDay == key.WorkDay && m.WorkNo == key.WorkNo);

            V200AttendanceTime result = query.Select(m => m).FirstOrDefault();

            return(result);
        }
Esempio n. 2
0
        /// <summary>
        /// 明細情報取得
        /// </summary>
        /// <param name="keyModel">キー情報</param>
        /// <returns>ビューモデル</returns>
        public AttendanceTimeModel GetDetail(AttendanceTimeKeyInputModel keyModel)
        {
            // キーに対する出退勤情報を取得する
            AttendanceTimeConditionModel condition = new AttendanceTimeConditionModel()
            {
                UserId    = this.UserInfoModel.UserId,
                WorkYear  = int.Parse(keyModel.WorkYear),
                WorkMonth = int.Parse(keyModel.WorkMonth),
                WorkDay   = int.Parse(keyModel.WorkDay),
                WorkNo    = int.Parse(keyModel.WorkNo)
            };
            V200AttendanceTime dbModel = this._V200Repository.GetAttendanceTimeByKey(condition);

            // 結果がnullの場合は通常のルートではありえないので、引数エラーとして例外を発生させ、エラー画面に遷移させる
            if (dbModel == null)
            {
                throw new ArgumentException("keyModel");
            }

            // Dbモデルから出退勤モデルを生成する
            AttendanceTimeModel model = CreateAttendanceTimeModel(dbModel);

            return(model);
        }