/// <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); }
/// <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); }