protected static FR_Base Execute(DbConnection Connection, DbTransaction Transaction, P_L5BR_DBM_1608 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_Guid(); ORM_CMN_PPS_BreakTime_Template breakTimeTemplate = new ORM_CMN_PPS_BreakTime_Template(); breakTimeTemplate.Load(Connection, Transaction, Parameter.CMN_PPS_BreakTime_TemplateID); breakTimeTemplate.Remove(Connection, Transaction); ORM_CMN_PPS_BreakTime_Template_Assignment.Query breakeTimeAssigmentQuery = new ORM_CMN_PPS_BreakTime_Template_Assignment.Query(); breakeTimeAssigmentQuery.IsDeleted = false; breakeTimeAssigmentQuery.Tenant_RefID = securityTicket.TenantID; breakeTimeAssigmentQuery.BreakTime_Template_RefID = breakTimeTemplate.CMN_PPS_BreakTime_TemplateID; List <ORM_CMN_PPS_BreakTime_Template_Assignment> breakTimeAssignemnts = ORM_CMN_PPS_BreakTime_Template_Assignment.Query.Search(Connection, Transaction, breakeTimeAssigmentQuery); foreach (var breakTimeAssignment in breakTimeAssignemnts) { breakTimeAssignment.Remove(Connection, Transaction); ORM_CMN_PPS_BreakTime breakeTime = new ORM_CMN_PPS_BreakTime(); breakeTime.Load(Connection, Transaction, breakTimeAssignment.BreakTime_RefID); breakeTime.Remove(Connection, Transaction); } //Put your code here return(returnValue); #endregion UserCode }
protected static FR_L5BR_GBMFT_1503_Array Execute(DbConnection Connection, DbTransaction Transaction, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_L5BR_GBMFT_1503_Array(); List <L5BR_GBMFT_1503> breakModelList = new List <L5BR_GBMFT_1503>(); ORM_CMN_PPS_BreakTime_Template.Query breakteTimeTemplateQuery = new ORM_CMN_PPS_BreakTime_Template.Query(); breakteTimeTemplateQuery.IsDeleted = false; breakteTimeTemplateQuery.Tenant_RefID = securityTicket.TenantID; List <ORM_CMN_PPS_BreakTime_Template> breakTimeTemplates = ORM_CMN_PPS_BreakTime_Template.Query.Search(Connection, Transaction, breakteTimeTemplateQuery); foreach (var breakTimeTemplate in breakTimeTemplates) { L5BR_GBMFT_1503 breakModel = new L5BR_GBMFT_1503(); breakModel.BreakTimeTemplate_Name_DictID = breakTimeTemplate.BreakTimeTemplate_Name; breakModel.CMN_PPS_BreakTime_TemplateID = breakTimeTemplate.CMN_PPS_BreakTime_TemplateID; int duration = 0; ORM_CMN_PPS_BreakTime_Template_Assignment.Query breakeTimeAssigmentQuery = new ORM_CMN_PPS_BreakTime_Template_Assignment.Query(); breakeTimeAssigmentQuery.IsDeleted = false; breakeTimeAssigmentQuery.Tenant_RefID = securityTicket.TenantID; breakeTimeAssigmentQuery.BreakTime_Template_RefID = breakTimeTemplate.CMN_PPS_BreakTime_TemplateID; List <ORM_CMN_PPS_BreakTime_Template_Assignment> breakTimeAssignemnts = ORM_CMN_PPS_BreakTime_Template_Assignment.Query.Search(Connection, Transaction, breakeTimeAssigmentQuery); foreach (var assignment in breakTimeAssignemnts) { ORM_CMN_PPS_BreakTime breakeTime = new ORM_CMN_PPS_BreakTime(); breakeTime.Load(Connection, Transaction, assignment.BreakTime_RefID); if (breakeTime.IsBreakfastBreak) { breakModel.BreakfestDuration = breakeTime.Default_Duration_in_sec; } else if (breakeTime.IsDinnerBreak) { breakModel.DinnerDuration = breakeTime.Default_Duration_in_sec; } else if (breakeTime.IsLunchBreak) { breakModel.LunchDuration = breakeTime.Default_Duration_in_sec; } else { duration += breakeTime.Default_Duration_in_sec; } } breakModel.Duration = duration; breakModel.Office_RefID = breakTimeTemplate.BoundTo_Office_RefID; breakModel.Workarea_RefID = breakTimeTemplate.BoundTo_Workarea_RefID; breakModel.Workplace_RefID = breakTimeTemplate.BoundTo_Workplace_RefID; breakModelList.Add(breakModel); } returnValue.Result = breakModelList.ToArray(); //Put your code here return(returnValue); #endregion UserCode }
protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L5DWS_SDWSFST_1447 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { //Leave UserCode region to enable user code saving #region UserCode var returnValue = new FR_Guid(); ORM_CMN_PPS_ShiftTemplate.Query shiftTemplateQuery = new ORM_CMN_PPS_ShiftTemplate.Query(); shiftTemplateQuery.CMN_PPS_ShiftTemplateID = Parameter.InstantiatedWithShiftTemplate_RefID; shiftTemplateQuery.Tenant_RefID = securityTicket.TenantID; shiftTemplateQuery.IsDeleted = false; ORM_CMN_PPS_ShiftTemplate shiftTemplate = ORM_CMN_PPS_ShiftTemplate.Query.Search(Connection, Transaction, shiftTemplateQuery).FirstOrDefault(); ORM_CMN_PPS_ShiftTemplate_WorkDetail.Query shiftTemplateWorkDetailQuery = new ORM_CMN_PPS_ShiftTemplate_WorkDetail.Query(); shiftTemplateWorkDetailQuery.CMN_PPS_ShiftTemplate_RefID = Parameter.InstantiatedWithShiftTemplate_RefID; shiftTemplateWorkDetailQuery.Tenant_RefID = securityTicket.TenantID; shiftTemplateWorkDetailQuery.IsDeleted = false; var shiftTemplateDetailsResult = ORM_CMN_PPS_ShiftTemplate_WorkDetail.Query.Search(Connection, Transaction, shiftTemplateWorkDetailQuery); double totalTime = 0; DateTime?startTime = null; DateTime?endTime = null; foreach (var shiftTemplateDetail in shiftTemplateDetailsResult) { DateTime detailStartTime = Parameter.WorkSheduleDate.Date.AddSeconds(shiftTemplateDetail.ShiftStart_Offset_sec); DateTime detailEndTime = Parameter.WorkSheduleDate.Date.AddSeconds(shiftTemplateDetail.ShiftStart_Offset_sec + Math.Abs(shiftTemplateDetail.Duration_in_sec)); if (startTime == null) { startTime = detailStartTime; } if (endTime == null) { endTime = detailEndTime; } if (detailStartTime < startTime) { startTime = detailStartTime; } if (detailEndTime > endTime) { endTime = detailEndTime; } totalTime += shiftTemplateDetail.Duration_in_sec; } double startTimeInSec = 0; double endTimeInSec = 0; if (startTime.HasValue) { startTimeInSec = startTime.Value.TimeOfDay.TotalSeconds; } if (endTime.HasValue) { endTimeInSec = endTime.Value.TimeOfDay.TotalSeconds; } ORM_CMN_STR_PPS_DailyWorkSchedule dailyWorkSchedule = new ORM_CMN_STR_PPS_DailyWorkSchedule(); dailyWorkSchedule.IsBreakTimeManualySpecified = false; dailyWorkSchedule.SheduleBreakTemplate_RefID = shiftTemplate.Default_AllowedBreakTimeTemplate_RefID; dailyWorkSchedule.InstantiatedWithShiftTemplate_RefID = Parameter.InstantiatedWithShiftTemplate_RefID; if (shiftTemplate.Default_AllowedBreakTimeTemplate_RefID != Guid.Empty && Parameter.IsBreakTimeCalculated_Planning) { ORM_CMN_PPS_BreakTime_Template_Assignment.Query breakTimeAssignmentQuery = new ORM_CMN_PPS_BreakTime_Template_Assignment.Query(); breakTimeAssignmentQuery.BreakTime_Template_RefID = shiftTemplate.Default_AllowedBreakTimeTemplate_RefID; breakTimeAssignmentQuery.Tenant_RefID = securityTicket.TenantID; breakTimeAssignmentQuery.IsDeleted = false; var breakTimeAssignments = ORM_CMN_PPS_BreakTime_Template_Assignment.Query.Search(Connection, Transaction, breakTimeAssignmentQuery); foreach (var breakTimeAssignment in breakTimeAssignments) { ORM_CMN_PPS_BreakTime.Query breakTimeQuery = new ORM_CMN_PPS_BreakTime.Query(); breakTimeQuery.CMN_PPS_BreakTimeID = breakTimeAssignment.BreakTime_RefID; breakTimeQuery.Tenant_RefID = securityTicket.TenantID; breakTimeQuery.IsDeleted = false; breakTimeQuery.IsDinnerBreak = false; breakTimeQuery.IsLunchBreak = false; breakTimeQuery.IsBreakfastBreak = false; var breakTime = ORM_CMN_PPS_BreakTime.Query.Search(Connection, Transaction, breakTimeQuery).FirstOrDefault(); if (breakTime != null) { dailyWorkSchedule.BreakDurationTime_in_sec += breakTime.Default_Duration_in_sec; } } } else { dailyWorkSchedule.BreakDurationTime_in_sec = 0; } dailyWorkSchedule.R_WorkDay_Start_in_sec = (int)startTimeInSec; dailyWorkSchedule.R_WorkDay_Duration_in_sec = (int)totalTime; dailyWorkSchedule.R_WorkDay_End_in_sec = (int)endTimeInSec; dailyWorkSchedule.R_ContractSpecified_WorkingTime_in_sec = Parameter.R_ContractSpecified_WorkingTime_in_sec; dailyWorkSchedule.ContractWorkerText = ""; dailyWorkSchedule.Employee_RefID = Parameter.Employee_RefID; dailyWorkSchedule.WorkSheduleDate = Parameter.WorkSheduleDate.Date; dailyWorkSchedule.Tenant_RefID = securityTicket.TenantID; dailyWorkSchedule.Save(Connection, Transaction); returnValue.Result = dailyWorkSchedule.CMN_STR_PPS_DailyWorkScheduleID; foreach (var shiftTemplateDetail in shiftTemplateDetailsResult) { P_L5DWS_SDWSD_1130 detailParam = new P_L5DWS_SDWSD_1130(); detailParam.WorkTime_Start = dailyWorkSchedule.WorkSheduleDate.AddSeconds(shiftTemplateDetail.ShiftStart_Offset_sec); detailParam.WorkTime_End = dailyWorkSchedule.WorkSheduleDate.AddSeconds(shiftTemplateDetail.ShiftStart_Offset_sec + shiftTemplateDetail.Duration_in_sec); detailParam.DailyWorkSchedule_RefID = dailyWorkSchedule.CMN_STR_PPS_DailyWorkScheduleID; detailParam.IsWorkBreak = false; detailParam.SheduleForWorkplace_RefID = Guid.Empty; detailParam.AbsenceReason_RefID = Guid.Empty; detailParam.RequestedBy_Employee_RefID = Guid.Empty; detailParam.RequestedFor_Employee_RefID = Parameter.Employee_RefID; cls_Save_Employee_DailyWorkSchedule_Detail.Invoke(Connection, Transaction, detailParam, securityTicket); } return(returnValue); #endregion UserCode }
protected static FR_Base Execute(DbConnection Connection, DbTransaction Transaction, P_L6DWS_UDWS_1129 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { //Leave UserCode region to enable user code saving #region UserCode var returnValue = new FR_Base(); ORM_CMN_STR_PPS_DailyWorkSchedule.Query scheduleQuery = new ORM_CMN_STR_PPS_DailyWorkSchedule.Query(); scheduleQuery.Employee_RefID = Parameter.EmployeeID; scheduleQuery.WorkSheduleDate = Parameter.WorkscheduleDate; scheduleQuery.Tenant_RefID = securityTicket.TenantID; scheduleQuery.IsDeleted = false; List <ORM_CMN_STR_PPS_DailyWorkSchedule> schedules = ORM_CMN_STR_PPS_DailyWorkSchedule.Query.Search(Connection, Transaction, scheduleQuery); if (schedules.Count == 1) { ORM_CMN_STR_PPS_DailyWorkSchedule schedule = schedules[0]; if (Parameter.SheduleBreakTemplate_RefID != Guid.Empty) { ORM_CMN_PPS_BreakTime_Template breakTemplate = new ORM_CMN_PPS_BreakTime_Template(); var result = breakTemplate.Load(Connection, Transaction, Parameter.SheduleBreakTemplate_RefID); if (result.Status != FR_Status.Success || breakTemplate.CMN_PPS_BreakTime_TemplateID == Guid.Empty) { var error = new FR_Guid(); error.ErrorMessage = "No Such ID."; error.Status = FR_Status.Error_Internal; return(error); } int duration = 0; ORM_CMN_PPS_BreakTime_Template_Assignment.Query breakeTimeAssigmentQuery = new ORM_CMN_PPS_BreakTime_Template_Assignment.Query(); breakeTimeAssigmentQuery.IsDeleted = false; breakeTimeAssigmentQuery.Tenant_RefID = securityTicket.TenantID; breakeTimeAssigmentQuery.BreakTime_Template_RefID = breakTemplate.CMN_PPS_BreakTime_TemplateID; List <ORM_CMN_PPS_BreakTime_Template_Assignment> breakTimeAssignemnts = ORM_CMN_PPS_BreakTime_Template_Assignment.Query.Search(Connection, Transaction, breakeTimeAssigmentQuery); foreach (var assignment in breakTimeAssignemnts) { ORM_CMN_PPS_BreakTime breakeTime = new ORM_CMN_PPS_BreakTime(); breakeTime.Load(Connection, Transaction, assignment.BreakTime_RefID); duration += breakeTime.Default_Duration_in_sec; } schedule.SheduleBreakTemplate_RefID = breakTemplate.CMN_PPS_BreakTime_TemplateID; schedule.BreakDurationTime_in_sec = duration; schedule.Save(Connection, Transaction); } else { P_L5DWS_GDWSDFDWSID_1156 par = new P_L5DWS_GDWSDFDWSID_1156(); par.DailyWorkScheduleID = schedule.CMN_STR_PPS_DailyWorkScheduleID; List <L5DWS_GDWSDFDWSID_1156> details = cls_Get_DailyWorkSchedule_Detail_For_DailyWorkScheduleID.Invoke(Connection, Transaction, par, securityTicket).Result.ToList(); foreach (var detail in details) { ORM_CMN_STR_PPS_DailyWorkSchedule_Detail scheduleDetail = new ORM_CMN_STR_PPS_DailyWorkSchedule_Detail(); var result = scheduleDetail.Load(Connection, Transaction, detail.CMN_STR_PPS_DailyWorkSchedule_DetailID); if (result.Status != FR_Status.Success || scheduleDetail.CMN_STR_PPS_DailyWorkSchedule_DetailID == Guid.Empty) { var error = new FR_Guid(); error.ErrorMessage = "No Such ID."; error.Status = FR_Status.Error_Internal; return(error); } scheduleDetail.SheduleForWorkplace_RefID = Parameter.WorkplaceID; scheduleDetail.Save(Connection, Transaction); } } } //Put your code here return(returnValue); #endregion UserCode }
protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L5BR_SBM_1545 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_Guid(); ORM_CMN_PPS_BreakTime_Template breakTimeTemplate = new ORM_CMN_PPS_BreakTime_Template(); if (Parameter.CMN_PPS_BreakTime_TemplateID != Guid.Empty) { var result = breakTimeTemplate.Load(Connection, Transaction, Parameter.CMN_PPS_BreakTime_TemplateID); if (result.Status != FR_Status.Success || breakTimeTemplate.CMN_PPS_BreakTime_TemplateID == Guid.Empty) { var error = new FR_Guid(); error.ErrorMessage = "No Such ID"; error.Status = FR_Status.Error_Internal; return(error); } } breakTimeTemplate.BreakTimeTemplate_Name = Parameter.BreakTimeTemplate_Name_DictID; breakTimeTemplate.Tenant_RefID = securityTicket.TenantID; breakTimeTemplate.BoundTo_Office_RefID = Parameter.Office_RefID; breakTimeTemplate.BoundTo_Workarea_RefID = Parameter.Workarea_RefID; breakTimeTemplate.BoundTo_Workplace_RefID = Parameter.Workplace_RefID; breakTimeTemplate.Save(Connection, Transaction); ORM_CMN_PPS_BreakTime_Template_Assignment.Query breakeTimeAssigmentQuery = new ORM_CMN_PPS_BreakTime_Template_Assignment.Query(); breakeTimeAssigmentQuery.IsDeleted = false; breakeTimeAssigmentQuery.Tenant_RefID = securityTicket.TenantID; breakeTimeAssigmentQuery.BreakTime_Template_RefID = breakTimeTemplate.CMN_PPS_BreakTime_TemplateID; List <ORM_CMN_PPS_BreakTime_Template_Assignment> breakTimeAssignemnts = ORM_CMN_PPS_BreakTime_Template_Assignment.Query.Search(Connection, Transaction, breakeTimeAssigmentQuery); List <ORM_CMN_PPS_BreakTime> breakTimes = new List <ORM_CMN_PPS_BreakTime>(); if (breakTimeAssignemnts != null) { foreach (var breakTimeAssignment in breakTimeAssignemnts) { ORM_CMN_PPS_BreakTime breakTime = new ORM_CMN_PPS_BreakTime(); breakTime.Load(Connection, Transaction, breakTimeAssignment.BreakTime_RefID); breakTimes.Add(breakTime); } } if (Parameter.BreakfestDuration != 0) { if (breakTimes.Any(i => i.IsBreakfastBreak)) { ORM_CMN_PPS_BreakTime breakTime = breakTimes.FirstOrDefault(i => i.IsBreakfastBreak); breakTime.Default_Duration_in_sec = Parameter.BreakfestDuration; breakTime.Save(Connection, Transaction); } else { ORM_CMN_PPS_BreakTime breakTime = new ORM_CMN_PPS_BreakTime(); breakTime.Default_Duration_in_sec = Parameter.BreakfestDuration; breakTime.IsBreakfastBreak = true; breakTime.Tenant_RefID = securityTicket.TenantID; breakTime.Save(Connection, Transaction); ORM_CMN_PPS_BreakTime_Template_Assignment newAssignment = new ORM_CMN_PPS_BreakTime_Template_Assignment(); newAssignment.BreakTime_RefID = breakTime.CMN_PPS_BreakTimeID; newAssignment.BreakTime_Template_RefID = breakTimeTemplate.CMN_PPS_BreakTime_TemplateID; newAssignment.Tenant_RefID = securityTicket.TenantID; newAssignment.Save(Connection, Transaction); } } else { if (breakTimes.Any(i => i.IsBreakfastBreak)) { ORM_CMN_PPS_BreakTime breakTime = breakTimes.FirstOrDefault(i => i.IsBreakfastBreak); breakTime.Remove(Connection, Transaction); } } if (Parameter.DinnerDuration != 0) { if (breakTimes.Any(i => i.IsDinnerBreak)) { ORM_CMN_PPS_BreakTime breakTime = breakTimes.FirstOrDefault(i => i.IsDinnerBreak); breakTime.Default_Duration_in_sec = Parameter.DinnerDuration; breakTime.Save(Connection, Transaction); } else { ORM_CMN_PPS_BreakTime breakTime = new ORM_CMN_PPS_BreakTime(); breakTime.Default_Duration_in_sec = Parameter.DinnerDuration; breakTime.IsDinnerBreak = true; breakTime.Tenant_RefID = securityTicket.TenantID; breakTime.Save(Connection, Transaction); ORM_CMN_PPS_BreakTime_Template_Assignment newAssignment = new ORM_CMN_PPS_BreakTime_Template_Assignment(); newAssignment.BreakTime_RefID = breakTime.CMN_PPS_BreakTimeID; newAssignment.BreakTime_Template_RefID = breakTimeTemplate.CMN_PPS_BreakTime_TemplateID; newAssignment.Tenant_RefID = securityTicket.TenantID; newAssignment.Save(Connection, Transaction); } } else { if (breakTimes.Any(i => i.IsDinnerBreak)) { ORM_CMN_PPS_BreakTime breakTime = breakTimes.FirstOrDefault(i => i.IsDinnerBreak); breakTime.Remove(Connection, Transaction); } } if (Parameter.LunchDuration != 0) { if (breakTimes.Any(i => i.IsLunchBreak)) { ORM_CMN_PPS_BreakTime breakTime = breakTimes.FirstOrDefault(i => i.IsLunchBreak); breakTime.Default_Duration_in_sec = Parameter.LunchDuration; breakTime.Save(Connection, Transaction); } else { ORM_CMN_PPS_BreakTime breakTime = new ORM_CMN_PPS_BreakTime(); breakTime.Default_Duration_in_sec = Parameter.LunchDuration; breakTime.IsLunchBreak = true; breakTime.Tenant_RefID = securityTicket.TenantID; breakTime.Save(Connection, Transaction); ORM_CMN_PPS_BreakTime_Template_Assignment newAssignment = new ORM_CMN_PPS_BreakTime_Template_Assignment(); newAssignment.BreakTime_RefID = breakTime.CMN_PPS_BreakTimeID; newAssignment.BreakTime_Template_RefID = breakTimeTemplate.CMN_PPS_BreakTime_TemplateID; newAssignment.Tenant_RefID = securityTicket.TenantID; newAssignment.Save(Connection, Transaction); } } else { if (breakTimes.Any(i => i.IsLunchBreak)) { ORM_CMN_PPS_BreakTime breakTime = breakTimes.FirstOrDefault(i => i.IsLunchBreak); breakTime.Remove(Connection, Transaction); } } if (Parameter.Duration != 0) { if (breakTimes.Any(i => !i.IsLunchBreak && !i.IsBreakfastBreak && !i.IsDinnerBreak)) { ORM_CMN_PPS_BreakTime breakTime = breakTimes.FirstOrDefault(i => !i.IsLunchBreak && !i.IsBreakfastBreak && !i.IsDinnerBreak); breakTime.Default_Duration_in_sec = Parameter.Duration; breakTime.Save(Connection, Transaction); } else { ORM_CMN_PPS_BreakTime breakTime = new ORM_CMN_PPS_BreakTime(); breakTime.Default_Duration_in_sec = Parameter.Duration; breakTime.Tenant_RefID = securityTicket.TenantID; breakTime.Save(Connection, Transaction); ORM_CMN_PPS_BreakTime_Template_Assignment newAssignment = new ORM_CMN_PPS_BreakTime_Template_Assignment(); newAssignment.BreakTime_RefID = breakTime.CMN_PPS_BreakTimeID; newAssignment.BreakTime_Template_RefID = breakTimeTemplate.CMN_PPS_BreakTime_TemplateID; newAssignment.Tenant_RefID = securityTicket.TenantID; newAssignment.Save(Connection, Transaction); } } else { if (breakTimes.Any(i => !i.IsLunchBreak && !i.IsBreakfastBreak && !i.IsDinnerBreak)) { ORM_CMN_PPS_BreakTime breakTime = breakTimes.FirstOrDefault(i => !i.IsLunchBreak && !i.IsBreakfastBreak && !i.IsDinnerBreak); breakTime.Remove(Connection, Transaction); } } returnValue.Result = breakTimeTemplate.CMN_PPS_BreakTime_TemplateID; //Put your code here return(returnValue); #endregion UserCode }
protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L5DWS_SEWTFST_1141 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { //Leave UserCode region to enable user code saving #region UserCode var returnValue = new FR_Guid(); //Put your code here ORM_CMN_PPS_ShiftTemplate.Query shiftTemplateQuery = new ORM_CMN_PPS_ShiftTemplate.Query(); shiftTemplateQuery.CMN_PPS_ShiftTemplateID = Parameter.ShiftTemplate_RefID; shiftTemplateQuery.Tenant_RefID = securityTicket.TenantID; shiftTemplateQuery.IsDeleted = false; ORM_CMN_PPS_ShiftTemplate shiftTemplate = ORM_CMN_PPS_ShiftTemplate.Query.Search(Connection, Transaction, shiftTemplateQuery).FirstOrDefault(); ORM_CMN_PPS_ShiftTemplate_WorkDetail.Query shiftTemplateWorkDetailQuery = new ORM_CMN_PPS_ShiftTemplate_WorkDetail.Query(); shiftTemplateWorkDetailQuery.CMN_PPS_ShiftTemplate_RefID = Parameter.ShiftTemplate_RefID; shiftTemplateWorkDetailQuery.Tenant_RefID = securityTicket.TenantID; shiftTemplateWorkDetailQuery.IsDeleted = false; var shiftTemplateDetailsResult = ORM_CMN_PPS_ShiftTemplate_WorkDetail.Query.Search(Connection, Transaction, shiftTemplateWorkDetailQuery); ORM_CMN_BPT_EMP_EffectiveWorkTime_Header effectiveWorkTimeHeader = new ORM_CMN_BPT_EMP_EffectiveWorkTime_Header(); effectiveWorkTimeHeader.IsBreakTimeManualySpecified = false; effectiveWorkTimeHeader.SheduleBreakTemplate_RefID = shiftTemplate.Default_AllowedBreakTimeTemplate_RefID; if (shiftTemplate.Default_AllowedBreakTimeTemplate_RefID != Guid.Empty && Parameter.IsBreakTimeCalculated_Actual) { ORM_CMN_PPS_BreakTime_Template_Assignment.Query breakTimeAssignmentQuery = new ORM_CMN_PPS_BreakTime_Template_Assignment.Query(); breakTimeAssignmentQuery.BreakTime_Template_RefID = shiftTemplate.Default_AllowedBreakTimeTemplate_RefID; breakTimeAssignmentQuery.Tenant_RefID = securityTicket.TenantID; breakTimeAssignmentQuery.IsDeleted = false; var breakTimeAssignment = ORM_CMN_PPS_BreakTime_Template_Assignment.Query.Search(Connection, Transaction, breakTimeAssignmentQuery).FirstOrDefault(); ORM_CMN_PPS_BreakTime.Query breakTimeQuery = new ORM_CMN_PPS_BreakTime.Query(); breakTimeQuery.CMN_PPS_BreakTimeID = breakTimeAssignment.BreakTime_RefID; breakTimeQuery.Tenant_RefID = securityTicket.TenantID; breakTimeQuery.IsDeleted = false; var breakTime = ORM_CMN_PPS_BreakTime.Query.Search(Connection, Transaction, breakTimeQuery).FirstOrDefault(); effectiveWorkTimeHeader.BreakDurationTime_in_sec = breakTime.Default_Duration_in_sec; } else { effectiveWorkTimeHeader.BreakDurationTime_in_sec = 0; } effectiveWorkTimeHeader.EffectiveBusinessDay = Parameter.EffectiveBusinessDay; effectiveWorkTimeHeader.ContractWorkerText = ""; effectiveWorkTimeHeader.Employee_RefID = Parameter.Employee_RefID; effectiveWorkTimeHeader.Tenant_RefID = securityTicket.TenantID; effectiveWorkTimeHeader.Save(Connection, Transaction); foreach (var shiftTemplateDetail in shiftTemplateDetailsResult) { P_L5DWS_SEWTP_1337 effectivePositionParam = new P_L5DWS_SEWTP_1337(); effectivePositionParam.EffectiveWorkTime_Header_RefID = effectiveWorkTimeHeader.CMN_STR_PPS_EffectiveWorkTime_HeaderID; effectivePositionParam.WorkTime_Start = effectiveWorkTimeHeader.EffectiveBusinessDay.AddSeconds(shiftTemplateDetail.ShiftStart_Offset_sec); effectivePositionParam.WorkTime_End = effectiveWorkTimeHeader.EffectiveBusinessDay.AddSeconds(shiftTemplateDetail.ShiftStart_Offset_sec + shiftTemplateDetail.Duration_in_sec); effectivePositionParam.Employee_RefID = Parameter.Employee_RefID; effectivePositionParam.RequestedFor_Employee_RefID = Parameter.Employee_RefID; cls_Save_EffectiveWorkTime_Position.Invoke(Connection, Transaction, effectivePositionParam, securityTicket); } return(returnValue); #endregion UserCode }