//[Test] public void NUnit_Overtime_Domain_AnalyzeOvertime() { #region listWorkDay List <Att_WorkDayEntity> listWorkDay = new List <Att_WorkDayEntity>(); Att_WorkDayEntity _workDayEntity = new Att_WorkDayEntity() { ProfileID = 1, WorkDate = DateTime.Parse("01-09-14"), FirstInTime = DateTime.Parse("01-09-14 07:00:00"), LastOutTime = DateTime.Parse("02-09-14 07:00:00"), InTime1 = DateTime.Parse("01-09-14 07:00:00"), OutTime1 = DateTime.Parse("02-09-14 07:00:00"), ShiftID = 1, WorkDuration = (float)14.5 }; listWorkDay.Add(_workDayEntity); #endregion #region listShift List <Cat_ShiftEntity> listShift = new List <Cat_ShiftEntity>(); Cat_ShiftEntity _shiftEntity = new Cat_ShiftEntity() { Id = 1, ShiftName = "Ca Test", InTime = DateTime.Parse("01-09-14 07:00:00"), CoOut = 9.5, CoBreakIn = 4, CoBreakOut = 5.5, NightTimeStart = DateTime.Parse("01-09-14 21:00:00"), NightTimeEnd = DateTime.Parse("02-09-14 05:00:00") }; listShift.Add(_shiftEntity); #endregion #region listShiftItem List <Cat_ShiftItemEntity> listShiftItem = new List <Cat_ShiftItemEntity>(); Cat_ShiftItemEntity _shiftItemEntity1 = new Cat_ShiftItemEntity() { ShiftItemName = "Giao Ca Sang", ShiftID = 1, CoFrom = 4, CoTo = 5.5 }; Cat_ShiftItemEntity _shiftItemEntity2 = new Cat_ShiftItemEntity() { ShiftItemName = "Giao Ca Toi", ShiftID = 1, CoFrom = 9.5, CoTo = 10 }; listShiftItem.Add(_shiftItemEntity1); listShiftItem.Add(_shiftItemEntity2); #endregion #region listDayOff List <Cat_DayOffEntity> listDayOff = new List <Cat_DayOffEntity>(); Cat_DayOffEntity _DayOffEntity1 = new Cat_DayOffEntity() { DateOff = DateTime.Parse("02-09-14"), }; listDayOff.Add(_DayOffEntity1); #endregion #region listOvertimeType List <Cat_OvertimeTypeEntity> listOvertimeType = new List <Cat_OvertimeTypeEntity>(); Cat_OvertimeTypeEntity _OvertimeTypeEntity1 = new Cat_OvertimeTypeEntity() { OvertimeTypeName = "OT - 3.0", OvertimeTypeCode = "E_HOLIDAY", Rate = 3, TaxRate = 1, }; Cat_OvertimeTypeEntity _OvertimeTypeEntity5 = new Cat_OvertimeTypeEntity() { OvertimeTypeName = "OT - 3.5", OvertimeTypeCode = "E_HOLIDAY_NIGHTSHIFT", Rate = 3.5, TaxRate = 1, }; Cat_OvertimeTypeEntity _OvertimeTypeEntity2 = new Cat_OvertimeTypeEntity() { OvertimeTypeName = "OT - 2.0", OvertimeTypeCode = "E_WEEKEND", Rate = 1, TaxRate = 1, }; Cat_OvertimeTypeEntity _OvertimeTypeEntity3 = new Cat_OvertimeTypeEntity() { OvertimeTypeName = "OT - 1.5", OvertimeTypeCode = "E_WORKDAY", Rate = 1.5, TaxRate = 1, }; Cat_OvertimeTypeEntity _OvertimeTypeEntity4 = new Cat_OvertimeTypeEntity() { OvertimeTypeName = "OT - 2.0", OvertimeTypeCode = "E_WORKDAY_NIGHTSHIFT", Rate = 2, TaxRate = 1, }; listOvertimeType.Add(_OvertimeTypeEntity1); listOvertimeType.Add(_OvertimeTypeEntity2); listOvertimeType.Add(_OvertimeTypeEntity3); listOvertimeType.Add(_OvertimeTypeEntity4); #endregion #region listOvertimeInfoFillterAnalyze Att_OvertimeInfoFillterAnalyze _OvertimeInfoFillterAnalyzeEntity = new Att_OvertimeInfoFillterAnalyze() { isAllowGetOTOutterShift = true, isAllowGetBeforeShift = false, isAllowGetAfterShift = true, isAllowGetInShift = false, isAllowGetTypeBaseOnActualDate = true, isAllowGetTypeBaseOnBeginShift = true, isAllowGetTypeBaseOnEndShift = false, isAllowGetNightShift = true, // cắt h qua đêm 12h khuya isBreakMiddleNight = true, MininumOvertimeHour = 0.5 }; #endregion Att_OvertimeServices service = new Att_OvertimeServices(); List <Att_OvertimeEntity> listResult = service.AnalyzeOvertime(listWorkDay, listShift, listShiftItem, listDayOff, listOvertimeType, _OvertimeInfoFillterAnalyzeEntity); }
//[Test] public void NUnit_Overtime_Domain_AnalyzeOvertime() { #region listWorkDay List<Att_WorkDayEntity> listWorkDay = new List<Att_WorkDayEntity>(); Att_WorkDayEntity _workDayEntity = new Att_WorkDayEntity() { ProfileID = 1, WorkDate = DateTime.Parse("01-09-14"), FirstInTime = DateTime.Parse("01-09-14 07:00:00"), LastOutTime = DateTime.Parse("02-09-14 07:00:00"), InTime1 = DateTime.Parse("01-09-14 07:00:00"), OutTime1 = DateTime.Parse("02-09-14 07:00:00"), ShiftID = 1, WorkDuration = (float)14.5 }; listWorkDay.Add(_workDayEntity); #endregion #region listShift List<Cat_ShiftEntity> listShift = new List<Cat_ShiftEntity>(); Cat_ShiftEntity _shiftEntity = new Cat_ShiftEntity() { Id = 1, ShiftName = "Ca Test", InTime = DateTime.Parse("01-09-14 07:00:00"), CoOut = 9.5, CoBreakIn = 4, CoBreakOut = 5.5, NightTimeStart = DateTime.Parse("01-09-14 21:00:00"), NightTimeEnd = DateTime.Parse("02-09-14 05:00:00") }; listShift.Add(_shiftEntity); #endregion #region listShiftItem List<Cat_ShiftItemEntity> listShiftItem = new List<Cat_ShiftItemEntity>(); Cat_ShiftItemEntity _shiftItemEntity1 = new Cat_ShiftItemEntity() { ShiftItemName = "Giao Ca Sang", ShiftID = 1, CoFrom = 4, CoTo = 5.5 }; Cat_ShiftItemEntity _shiftItemEntity2 = new Cat_ShiftItemEntity() { ShiftItemName = "Giao Ca Toi", ShiftID = 1, CoFrom = 9.5, CoTo = 10 }; listShiftItem.Add(_shiftItemEntity1); listShiftItem.Add(_shiftItemEntity2); #endregion #region listDayOff List<Cat_DayOffEntity> listDayOff = new List<Cat_DayOffEntity>(); Cat_DayOffEntity _DayOffEntity1 = new Cat_DayOffEntity() { DateOff = DateTime.Parse("02-09-14"), }; listDayOff.Add(_DayOffEntity1); #endregion #region listOvertimeType List<Cat_OvertimeTypeEntity> listOvertimeType = new List<Cat_OvertimeTypeEntity>(); Cat_OvertimeTypeEntity _OvertimeTypeEntity1 = new Cat_OvertimeTypeEntity() { OvertimeTypeName = "OT - 3.0", OvertimeTypeCode = "E_HOLIDAY", Rate = 3, TaxRate = 1, }; Cat_OvertimeTypeEntity _OvertimeTypeEntity5 = new Cat_OvertimeTypeEntity() { OvertimeTypeName = "OT - 3.5", OvertimeTypeCode = "E_HOLIDAY_NIGHTSHIFT", Rate = 3.5, TaxRate = 1, }; Cat_OvertimeTypeEntity _OvertimeTypeEntity2 = new Cat_OvertimeTypeEntity() { OvertimeTypeName = "OT - 2.0", OvertimeTypeCode = "E_WEEKEND", Rate = 1, TaxRate = 1, }; Cat_OvertimeTypeEntity _OvertimeTypeEntity3 = new Cat_OvertimeTypeEntity() { OvertimeTypeName = "OT - 1.5", OvertimeTypeCode = "E_WORKDAY", Rate = 1.5, TaxRate = 1, }; Cat_OvertimeTypeEntity _OvertimeTypeEntity4 = new Cat_OvertimeTypeEntity() { OvertimeTypeName = "OT - 2.0", OvertimeTypeCode = "E_WORKDAY_NIGHTSHIFT", Rate = 2, TaxRate = 1, }; listOvertimeType.Add(_OvertimeTypeEntity1); listOvertimeType.Add(_OvertimeTypeEntity2); listOvertimeType.Add(_OvertimeTypeEntity3); listOvertimeType.Add(_OvertimeTypeEntity4); #endregion #region listOvertimeInfoFillterAnalyze Att_OvertimeInfoFillterAnalyze _OvertimeInfoFillterAnalyzeEntity = new Att_OvertimeInfoFillterAnalyze() { isAllowGetOTOutterShift = true, isAllowGetBeforeShift = false, isAllowGetAfterShift = true, isAllowGetInShift = false, isAllowGetTypeBaseOnActualDate = true, isAllowGetTypeBaseOnBeginShift = true, isAllowGetTypeBaseOnEndShift = false, isAllowGetNightShift = true, // cắt h qua đêm 12h khuya isBreakMiddleNight = true, MininumOvertimeHour = 0.5 }; #endregion Att_OvertimeServices service = new Att_OvertimeServices(); List<Att_OvertimeEntity> listResult = service.AnalyzeOvertime(listWorkDay, listShift, listShiftItem, listDayOff, listOvertimeType, _OvertimeInfoFillterAnalyzeEntity); }