示例#1
0
 /// <summary>
 /// 1日単位の勤務実績を作成します。
 /// </summary>
 /// <param name="_EmployeeCD">勤務情報の所有者社員コード</param>
 /// <param name="_KinmuJisseki">勤務実績</param>
 /// <param name="_SagyoNisshi">作業日誌</param>
 /// <param name="_KinmuYotei">勤務予定</param>
 /// <param name="_CalendarMaster">カレンダーマスタ</param>
 public KinmuRecordRow(string _EmployeeCD, KNS_D01 _KinmuJisseki, KNS_D13 _KinmuYotei, List <KNS_D02> _SagyoNisshi, KNS_M05 _CalendarMaster)
 {
     EmployeeCD     = _EmployeeCD ?? throw new ArgumentNullException("_EmployeeCD", "社員コードは必須のため、Nullでオブジェクトを作成することはできません。");
     KinmuJisseki   = _KinmuJisseki ?? new KNS_D01();
     KinmuYotei     = _KinmuYotei ?? new KNS_D13();
     SagyoNisshi    = _SagyoNisshi ?? new List <KNS_D02>();
     CalendarMaster = _CalendarMaster ?? throw new ArgumentNullException("_CalendarMaster", "カレンダーマスタをNullでオブジェクトを作成することはできません。KNS_M05テーブルを参照し、対象日付のカレンダーマスタが作成されているか確認してください。");
 }
示例#2
0
        /// <summary>
        /// このインスタンスと引数の<see cref="KNS_D01"/>が重複している実労働時間を分換算で取得します。重複していない場合は戻り値は0になります。
        /// </summary>
        /// <param name="KinmuJisseki">確認したい勤務実績</param>
        /// <returns>重複している時間</returns>
        public int GetOverlapMinutes(KNS_D01 KinmuJisseki)
        {
            int time = 0;

            time += GetOverlapMinutes(KinmuJisseki.GetWorkTimeRange());
            time -= GetOverlapMinutes(KinmuJisseki.GetRest1TimeRange());
            time -= GetOverlapMinutes(KinmuJisseki.GetRest2TimeRange());
            time -= GetOverlapMinutes(KinmuJisseki.GetRest3TimeRange());

            return(time);
        }