protected static FR_Base Execute(DbConnection Connection, DbTransaction Transaction, L5WT_DWT_1149 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { //Leave UserCode region to enable user code saving #region UserCode var returnValue = new FR_Base(); ORM_CMN_BPT_EMP_EmploymentRelationship_Template.Query employmentRelationshipTemplateQuery = new ORM_CMN_BPT_EMP_EmploymentRelationship_Template.Query(); employmentRelationshipTemplateQuery.IsDeleted = false; employmentRelationshipTemplateQuery.Tenant_RefID = securityTicket.TenantID; List <ORM_CMN_BPT_EMP_EmploymentRelationship_Template> employmentRelationshipTemplates = ORM_CMN_BPT_EMP_EmploymentRelationship_Template.Query.Search(Connection, Transaction, employmentRelationshipTemplateQuery); foreach (var employmentRelationshipTemplate in employmentRelationshipTemplates) { employmentRelationshipTemplate.Remove(Connection, Transaction); ORM_CMN_STR_Office_Default_WorkRelationDefinition_Template.Query officeTemplateQuery = new ORM_CMN_STR_Office_Default_WorkRelationDefinition_Template.Query(); officeTemplateQuery.IsDeleted = false; officeTemplateQuery.Tenant_RefID = securityTicket.TenantID; List <ORM_CMN_STR_Office_Default_WorkRelationDefinition_Template> officeTemplates = ORM_CMN_STR_Office_Default_WorkRelationDefinition_Template.Query.Search(Connection, Transaction, officeTemplateQuery); if (officeTemplates.Count != 0) { officeTemplates[0].Remove(Connection, Transaction); } ORM_CMN_BPT_EMP_EmploymentRelationship_Templates_2_WorkingContract.Query templateToContractQuery = new ORM_CMN_BPT_EMP_EmploymentRelationship_Templates_2_WorkingContract.Query(); templateToContractQuery.IsDeleted = false; templateToContractQuery.Tenant_RefID = securityTicket.TenantID; templateToContractQuery.CMN_BPT_EMP_EmploymentRelationship_Template_RefID = employmentRelationshipTemplate.CMN_BPT_EMP_EmploymentRelationship_TemplateID; List <ORM_CMN_BPT_EMP_EmploymentRelationship_Templates_2_WorkingContract> templateToContracts = ORM_CMN_BPT_EMP_EmploymentRelationship_Templates_2_WorkingContract.Query.Search(Connection, Transaction, templateToContractQuery); if (templateToContracts.Count != 0) { templateToContracts[0].Remove(Connection, Transaction); ORM_CMN_BPT_EMP_WorkingContract workingContract = new ORM_CMN_BPT_EMP_WorkingContract(); workingContract.Load(Connection, Transaction, templateToContracts[0].CMN_BPT_EMP_WorkingContract_RefID); workingContract.Remove(Connection, Transaction); ORM_CMN_BPT_EMP_WorkingContract_2_ExtraWorkSurcharge.Query extraWorkToContractQuery = new ORM_CMN_BPT_EMP_WorkingContract_2_ExtraWorkSurcharge.Query(); extraWorkToContractQuery.IsDeleted = false; extraWorkToContractQuery.Tenant_RefID = securityTicket.TenantID; extraWorkToContractQuery.CMN_BPT_EMP_WorkingContract_RefID = workingContract.CMN_BPT_EMP_WorkingContractID; ORM_CMN_BPT_EMP_WorkingContract_2_ExtraWorkSurcharge.Query.SoftDelete(Connection, Transaction, extraWorkToContractQuery); } } //Put your code here return(returnValue); #endregion UserCode }
protected static FR_L5WT_GWTFT_1106_Array Execute(DbConnection Connection, DbTransaction Transaction, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_L5WT_GWTFT_1106_Array(); ORM_CMN_BPT_EMP_EmploymentRelationship_Template.Query employmentRelationshipTemplateQuery = new ORM_CMN_BPT_EMP_EmploymentRelationship_Template.Query(); employmentRelationshipTemplateQuery.IsDeleted = false; employmentRelationshipTemplateQuery.Tenant_RefID = securityTicket.TenantID; List <ORM_CMN_BPT_EMP_EmploymentRelationship_Template> employmentRelationshipTemplates = ORM_CMN_BPT_EMP_EmploymentRelationship_Template.Query.Search(Connection, Transaction, employmentRelationshipTemplateQuery); List <L5WT_GWTFT_1106> resultList = new List <L5WT_GWTFT_1106>(); foreach (var employmentRelationshipTemplate in employmentRelationshipTemplates) { L5WT_GWTFT_1106 eRItem = new L5WT_GWTFT_1106(); eRItem.CMN_BPT_EMP_EmploymentRelationship_TemplateID = employmentRelationshipTemplate.CMN_BPT_EMP_EmploymentRelationship_TemplateID; eRItem.RequiredDailyHours = employmentRelationshipTemplate.RequiredDailyHours; eRItem.RequiredMonthlyHours = employmentRelationshipTemplate.RequiredMonthlyHours; eRItem.RequiredWeeklyHours = employmentRelationshipTemplate.RequiredWeeklyHours; eRItem.Template_EndDate = employmentRelationshipTemplate.Template_EndDate; eRItem.Template_Name = employmentRelationshipTemplate.Template_Name; eRItem.Template_StartDate = employmentRelationshipTemplate.Template_StartDate; eRItem.R_WeeklyWorkPattern = employmentRelationshipTemplate.R_WeeklyWorkPattern; ORM_CMN_STR_Office_Default_WorkRelationDefinition_Template.Query officeTemplateQuery = new ORM_CMN_STR_Office_Default_WorkRelationDefinition_Template.Query(); officeTemplateQuery.IsDeleted = false; officeTemplateQuery.Tenant_RefID = securityTicket.TenantID; officeTemplateQuery.CMN_BPT_EMP_Employee_WorkRelationDefinition_Template_RefID = eRItem.CMN_BPT_EMP_EmploymentRelationship_TemplateID; List <ORM_CMN_STR_Office_Default_WorkRelationDefinition_Template> officeTemplates = ORM_CMN_STR_Office_Default_WorkRelationDefinition_Template.Query.Search(Connection, Transaction, officeTemplateQuery); if (officeTemplates.Count != 0) { eRItem.CMN_STR_Office_RefID = officeTemplates[0].CMN_STR_Office_RefID; } ORM_CMN_BPT_EMP_EmploymentRelationship_Templates_2_WorkingContract.Query templateToContractQuery = new ORM_CMN_BPT_EMP_EmploymentRelationship_Templates_2_WorkingContract.Query(); templateToContractQuery.IsDeleted = false; templateToContractQuery.Tenant_RefID = securityTicket.TenantID; templateToContractQuery.CMN_BPT_EMP_EmploymentRelationship_Template_RefID = employmentRelationshipTemplate.CMN_BPT_EMP_EmploymentRelationship_TemplateID; List <ORM_CMN_BPT_EMP_EmploymentRelationship_Templates_2_WorkingContract> templateToContracts = ORM_CMN_BPT_EMP_EmploymentRelationship_Templates_2_WorkingContract.Query.Search(Connection, Transaction, templateToContractQuery); if (templateToContracts.Count != 0) { ORM_CMN_BPT_EMP_EmploymentRelationship_Templates_2_WorkingContract templateToContract = templateToContracts[0]; ORM_CMN_BPT_EMP_WorkingContract workingContract = new ORM_CMN_BPT_EMP_WorkingContract(); workingContract.Load(Connection, Transaction, templateToContract.CMN_BPT_EMP_WorkingContract_RefID); eRItem.ExtraWorkCalculation_RefID = workingContract.ExtraWorkCalculation_RefID; ORM_CMN_BPT_EMP_WorkingContract_2_ExtraWorkSurcharge.Query extraWorkToContractQuery = new ORM_CMN_BPT_EMP_WorkingContract_2_ExtraWorkSurcharge.Query(); extraWorkToContractQuery.IsDeleted = false; extraWorkToContractQuery.Tenant_RefID = securityTicket.TenantID; extraWorkToContractQuery.CMN_BPT_EMP_WorkingContract_RefID = workingContract.CMN_BPT_EMP_WorkingContractID; List <ORM_CMN_BPT_EMP_WorkingContract_2_ExtraWorkSurcharge> extraWorkToContracts = ORM_CMN_BPT_EMP_WorkingContract_2_ExtraWorkSurcharge.Query.Search(Connection, Transaction, extraWorkToContractQuery); List <L5WT_GWTFT_1106_ExtraWorkSurcharges> ewsItemList = new List <L5WT_GWTFT_1106_ExtraWorkSurcharges>(); foreach (var extraWorkToContract in extraWorkToContracts) { L5WT_GWTFT_1106_ExtraWorkSurcharges ewsItem = new L5WT_GWTFT_1106_ExtraWorkSurcharges(); ewsItem.CMN_BPT_EMP_ExtraWorkCalculation_Surcharge_RefID = extraWorkToContract.CMN_BPT_EMP_ExtraWorkCalculation_Surcharge_RefID; ewsItem.R_IsNightTimeSurcharge = extraWorkToContract.R_IsNightTimeSurcharge; ewsItem.R_IsSpecialEventSurcharge = extraWorkToContract.R_IsSpecialEventSurcharge; ewsItemList.Add(ewsItem); } eRItem.ExtraWorkSurcharges = ewsItemList.ToArray(); resultList.Add(eRItem); } } returnValue.Result = resultList.ToArray(); //Put your code here return(returnValue); #endregion UserCode }
protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L5WT_SWT_1135 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_Guid(); ORM_CMN_BPT_EMP_EmploymentRelationship_Template.Query employmentRelationshipTemplateQuery = new ORM_CMN_BPT_EMP_EmploymentRelationship_Template.Query(); employmentRelationshipTemplateQuery.IsDeleted = false; employmentRelationshipTemplateQuery.Tenant_RefID = securityTicket.TenantID; List <ORM_CMN_BPT_EMP_EmploymentRelationship_Template> employmentRelationshipTemplates = ORM_CMN_BPT_EMP_EmploymentRelationship_Template.Query.Search(Connection, Transaction, employmentRelationshipTemplateQuery); var item = new ORM_CMN_BPT_EMP_EmploymentRelationship_Template(); if (Parameter.CMN_BPT_EMP_EmploymentRelationship_TemplateID != Guid.Empty) { var result = item.Load(Connection, Transaction, Parameter.CMN_BPT_EMP_EmploymentRelationship_TemplateID); if (result.Status != FR_Status.Success || item.CMN_BPT_EMP_EmploymentRelationship_TemplateID == Guid.Empty) { var error = new FR_Guid(); error.ErrorMessage = "No Such ID"; error.Status = FR_Status.Error_Internal; return(error); } } item.RequiredDailyHours = Parameter.RequiredDailyHours; item.RequiredMonthlyHours = Parameter.RequiredMonthlyHours; item.RequiredWeeklyHours = Parameter.RequiredWeeklyHours; item.Template_EndDate = Parameter.Template_EndDate; item.Template_Name = Parameter.Template_Name; item.Template_StartDate = Parameter.Template_StartDate; item.R_WeeklyWorkPattern = Parameter.R_WeeklyWorkPattern; item.Tenant_RefID = securityTicket.TenantID; item.Save(Connection, Transaction); if (Parameter.CMN_BPT_EMP_EmploymentRelationship_TemplateID == Guid.Empty && Parameter.CMN_STR_Office_RefID != Guid.Empty) { ORM_CMN_STR_Office_Default_WorkRelationDefinition_Template officeTemplate = new ORM_CMN_STR_Office_Default_WorkRelationDefinition_Template(); officeTemplate.CMN_BPT_EMP_Employee_WorkRelationDefinition_Template_RefID = item.CMN_BPT_EMP_EmploymentRelationship_TemplateID; officeTemplate.CMN_STR_Office_RefID = Parameter.CMN_STR_Office_RefID; officeTemplate.Tenant_RefID = securityTicket.TenantID; officeTemplate.Save(Connection, Transaction); } if (Parameter.CMN_BPT_EMP_EmploymentRelationship_TemplateID == Guid.Empty) { ORM_CMN_BPT_EMP_EmploymentRelationship_Templates_2_WorkingContract empRelToContract = new ORM_CMN_BPT_EMP_EmploymentRelationship_Templates_2_WorkingContract(); empRelToContract.CMN_BPT_EMP_EmploymentRelationship_Template_RefID = item.CMN_BPT_EMP_EmploymentRelationship_TemplateID; ORM_CMN_BPT_EMP_WorkingContract workingContract = new ORM_CMN_BPT_EMP_WorkingContract(); workingContract.ExtraWorkCalculation_RefID = Parameter.ExtraWorkCalculation_RefID; workingContract.Tenant_RefID = securityTicket.TenantID; workingContract.Save(Connection, Transaction); empRelToContract.CMN_BPT_EMP_WorkingContract_RefID = workingContract.CMN_BPT_EMP_WorkingContractID; empRelToContract.Tenant_RefID = securityTicket.TenantID; empRelToContract.Save(Connection, Transaction); foreach (var extraWorksurcharges in Parameter.ExtraWorkSurcharges) { ORM_CMN_BPT_EMP_WorkingContract_2_ExtraWorkSurcharge ewsItem = new ORM_CMN_BPT_EMP_WorkingContract_2_ExtraWorkSurcharge(); ewsItem.CMN_BPT_EMP_ExtraWorkCalculation_Surcharge_RefID = extraWorksurcharges.CMN_BPT_EMP_ExtraWorkCalculation_Surcharge_RefID; ewsItem.R_IsNightTimeSurcharge = extraWorksurcharges.R_IsNightTimeSurcharge; ewsItem.R_IsSpecialEventSurcharge = extraWorksurcharges.R_IsSpecialEventSurcharge; ewsItem.Tenant_RefID = securityTicket.TenantID; ewsItem.CMN_BPT_EMP_WorkingContract_RefID = workingContract.CMN_BPT_EMP_WorkingContractID; ewsItem.Save(Connection, Transaction); } } else { ORM_CMN_BPT_EMP_EmploymentRelationship_Templates_2_WorkingContract.Query templateToContractQuery = new ORM_CMN_BPT_EMP_EmploymentRelationship_Templates_2_WorkingContract.Query(); templateToContractQuery.IsDeleted = false; templateToContractQuery.Tenant_RefID = securityTicket.TenantID; templateToContractQuery.CMN_BPT_EMP_EmploymentRelationship_Template_RefID = item.CMN_BPT_EMP_EmploymentRelationship_TemplateID; List <ORM_CMN_BPT_EMP_EmploymentRelationship_Templates_2_WorkingContract> templateToContracts = ORM_CMN_BPT_EMP_EmploymentRelationship_Templates_2_WorkingContract.Query.Search(Connection, Transaction, templateToContractQuery); if (templateToContracts.Count != 0) { ORM_CMN_BPT_EMP_EmploymentRelationship_Templates_2_WorkingContract templateToContract = templateToContracts[0]; ORM_CMN_BPT_EMP_WorkingContract workingContract = new ORM_CMN_BPT_EMP_WorkingContract(); workingContract.Load(Connection, Transaction, templateToContract.CMN_BPT_EMP_WorkingContract_RefID); workingContract.ExtraWorkCalculation_RefID = Parameter.ExtraWorkCalculation_RefID; workingContract.Save(Connection, Transaction); ORM_CMN_BPT_EMP_WorkingContract_2_ExtraWorkSurcharge.Query extraWorkToContractQuery = new ORM_CMN_BPT_EMP_WorkingContract_2_ExtraWorkSurcharge.Query(); extraWorkToContractQuery.IsDeleted = false; extraWorkToContractQuery.Tenant_RefID = securityTicket.TenantID; extraWorkToContractQuery.CMN_BPT_EMP_WorkingContract_RefID = workingContract.CMN_BPT_EMP_WorkingContractID; ORM_CMN_BPT_EMP_WorkingContract_2_ExtraWorkSurcharge.Query.SoftDelete(Connection, Transaction, extraWorkToContractQuery); foreach (var extraWorksurcharges in Parameter.ExtraWorkSurcharges) { ORM_CMN_BPT_EMP_WorkingContract_2_ExtraWorkSurcharge ewsItem = new ORM_CMN_BPT_EMP_WorkingContract_2_ExtraWorkSurcharge(); ewsItem.CMN_BPT_EMP_ExtraWorkCalculation_Surcharge_RefID = extraWorksurcharges.CMN_BPT_EMP_ExtraWorkCalculation_Surcharge_RefID; ewsItem.R_IsNightTimeSurcharge = extraWorksurcharges.R_IsNightTimeSurcharge; ewsItem.R_IsSpecialEventSurcharge = extraWorksurcharges.R_IsSpecialEventSurcharge; ewsItem.Tenant_RefID = securityTicket.TenantID; ewsItem.CMN_BPT_EMP_WorkingContract_RefID = workingContract.CMN_BPT_EMP_WorkingContractID; ewsItem.Save(Connection, Transaction); } } } returnValue.Result = item.CMN_BPT_EMP_EmploymentRelationship_TemplateID; //Put your code here return(returnValue); #endregion UserCode }
protected static FR_L5EM_GEWPGFSD_1437_Array Execute(DbConnection Connection, DbTransaction Transaction, P_L5EM_GEWPGFSD_1437 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_L5EM_GEWPGFSD_1437_Array(); //Put your code here ORM_CMN_BPT_EMP_Employee.Query empQuery = new ORM_CMN_BPT_EMP_Employee.Query(); empQuery.IsDeleted = false; empQuery.Tenant_RefID = securityTicket.TenantID; var allEmployees = ORM_CMN_BPT_EMP_Employee.Query.Search(Connection, Transaction, empQuery); List <L5EM_GEWPGFSD_1437> resultList = new List <L5EM_GEWPGFSD_1437>(); foreach (var employee in allEmployees) { L5EM_GEWPGFSD_1437 resultItem = new L5EM_GEWPGFSD_1437(); resultItem.EmployeeID = employee.CMN_BPT_EMP_EmployeeID; ORM_CMN_BPT_BusinessParticipant.Query bptQuery = new ORM_CMN_BPT_BusinessParticipant.Query(); bptQuery.CMN_BPT_BusinessParticipantID = employee.BusinessParticipant_RefID; bptQuery.IsDeleted = false; bptQuery.Tenant_RefID = securityTicket.TenantID; var bpt = ORM_CMN_BPT_BusinessParticipant.Query.Search(Connection, Transaction, bptQuery).FirstOrDefault(); ORM_CMN_PER_PersonInfo.Query infoQuery = new ORM_CMN_PER_PersonInfo.Query(); infoQuery.CMN_PER_PersonInfoID = bpt.IfNaturalPerson_CMN_PER_PersonInfo_RefID; infoQuery.IsDeleted = false; infoQuery.Tenant_RefID = securityTicket.TenantID; var info = ORM_CMN_PER_PersonInfo.Query.Search(Connection, Transaction, infoQuery).FirstOrDefault(); int age = Parameter.SelectedDate.Year - info.BirthDate.Year; if (Parameter.SelectedDate < info.BirthDate.AddYears(age)) { age--; } resultItem.Age = age; resultItem.FirstName = info.FirstName; resultItem.LastName = info.LastName; ORM_CMN_BPT_EMP_Employee_WorkplaceAssignment.Query wpaQuery = new ORM_CMN_BPT_EMP_Employee_WorkplaceAssignment.Query(); wpaQuery.CMN_BPT_EMP_Employee_RefID = employee.CMN_BPT_EMP_EmployeeID; wpaQuery.IsDeleted = false; wpaQuery.Tenant_RefID = securityTicket.TenantID; var allWorkPlaceAssignements = ORM_CMN_BPT_EMP_Employee_WorkplaceAssignment.Query.Search(Connection, Transaction, wpaQuery); var workPlaceAssignementsForSelectedDate = allWorkPlaceAssignements.Where(x => x.WorkplaceAssignment_StartDate.Date.CompareTo(Parameter.SelectedDate) <= 0).ToArray(); if (workPlaceAssignementsForSelectedDate.Count() != 0) { var resultingWorkPlaceAssignement = workPlaceAssignementsForSelectedDate.OrderByDescending(x => x.WorkplaceAssignment_StartDate.Ticks).FirstOrDefault(); if (resultingWorkPlaceAssignement.CMN_BPT_EMP_Employee_PlanGroup_RefID == Guid.Empty) { resultItem.PlanGroupID = Guid.Empty; resultItem.PlanGroupName = new Dict(); resultItem.Position = -1; } else { ORM_CMN_BPT_EMP_Employee_PlanGroup.Query pgQuery = new ORM_CMN_BPT_EMP_Employee_PlanGroup.Query(); pgQuery.CMN_BPT_EMP_Employee_PlanGroupID = resultingWorkPlaceAssignement.CMN_BPT_EMP_Employee_PlanGroup_RefID; pgQuery.IsDeleted = false; pgQuery.Tenant_RefID = securityTicket.TenantID; var selectedPlanGroup = ORM_CMN_BPT_EMP_Employee_PlanGroup.Query.Search(Connection, Transaction, pgQuery).FirstOrDefault(); if (selectedPlanGroup == null) { resultItem.PlanGroupID = Guid.Empty; resultItem.PlanGroupName = new Dict(); resultItem.Position = -1; } else { resultItem.PlanGroupID = selectedPlanGroup.CMN_BPT_EMP_Employee_PlanGroupID; resultItem.PlanGroupName = selectedPlanGroup.PlanGroup_Name; resultItem.Position = resultingWorkPlaceAssignement.SequenceNumber; } resultItem.IsBreakTimeCalculated_Planning = resultingWorkPlaceAssignement.IsBreakTimeCalculated_Planning; resultItem.IsBreakTimeCalculated_Actual = resultingWorkPlaceAssignement.IsBreakTimeCalculated_Actual; } } else { continue; } ORM_CMN_BPT_EMP_EmploymentRelationship.Query employmentRelationshipQuery = new ORM_CMN_BPT_EMP_EmploymentRelationship.Query(); employmentRelationshipQuery.Employee_RefID = employee.CMN_BPT_EMP_EmployeeID; employmentRelationshipQuery.Tenant_RefID = securityTicket.TenantID; employmentRelationshipQuery.IsDeleted = false; ORM_CMN_BPT_EMP_EmploymentRelationship employmentRelationship = ORM_CMN_BPT_EMP_EmploymentRelationship.Query.Search(Connection, Transaction, employmentRelationshipQuery).FirstOrDefault(); ORM_CMN_BPT_EMP_EmploymentRelationship_2_WorkingContract.Query er2wcQuery = new ORM_CMN_BPT_EMP_EmploymentRelationship_2_WorkingContract.Query(); er2wcQuery.EmploymentRelationship_RefID = employmentRelationship.CMN_BPT_EMP_EmploymentRelationshipID; er2wcQuery.Tenant_RefID = securityTicket.TenantID; er2wcQuery.IsContract_Active = true; er2wcQuery.IsDeleted = false; ORM_CMN_BPT_EMP_EmploymentRelationship_2_WorkingContract er2wc = ORM_CMN_BPT_EMP_EmploymentRelationship_2_WorkingContract.Query.Search(Connection, Transaction, er2wcQuery).FirstOrDefault(); if (er2wc != null) { ORM_CMN_BPT_EMP_WorkingContract.Query workingContractQuery = new ORM_CMN_BPT_EMP_WorkingContract.Query(); workingContractQuery.CMN_BPT_EMP_WorkingContractID = er2wc.WorkingContract_RefID; workingContractQuery.IsDeleted = false; workingContractQuery.Tenant_RefID = securityTicket.TenantID; ORM_CMN_BPT_EMP_WorkingContract workingContract = ORM_CMN_BPT_EMP_WorkingContract.Query.Search(Connection, Transaction, workingContractQuery).FirstOrDefault(); resultItem.IsWorkTimeCalculated_InDays = workingContract.IsWorkTimeCalculated_InDays; resultItem.IsWorkTimeCalculated_InHours = workingContract.IsWorkTimeCalculated_InHours; ORM_CMN_BPT_EMP_WorkingContract_2_WorkingDay.Query wc2wdQuery = new ORM_CMN_BPT_EMP_WorkingContract_2_WorkingDay.Query(); wc2wdQuery.CMN_BPT_EMP_WorkingContract_RefID = er2wc.WorkingContract_RefID; wc2wdQuery.Tenant_RefID = securityTicket.TenantID; wc2wdQuery.IsDeleted = false; ORM_CMN_BPT_EMP_WorkingContract_2_WorkingDay[] workingContract2workingDays = ORM_CMN_BPT_EMP_WorkingContract_2_WorkingDay.Query.Search(Connection, Transaction, wc2wdQuery).ToArray(); resultItem.ContractSpecifiedWorkTime_InMinutes = 0; List <WeeklyOfficeHours> listOfWeeklyOfficeHours = new List <WeeklyOfficeHours>(); foreach (var workingContract2workingDay in workingContract2workingDays) { ORM_CMN_CAL_WeeklyOfficeHours_Interval.Query weeklyOfficeHoursQuery = new ORM_CMN_CAL_WeeklyOfficeHours_Interval.Query(); weeklyOfficeHoursQuery.CMN_CAL_WeeklyOfficeHours_IntervalID = workingContract2workingDay.CMN_CAL_WeeklyOfficeHours_Interval_RefID; weeklyOfficeHoursQuery.Tenant_RefID = securityTicket.TenantID; weeklyOfficeHoursQuery.IsDeleted = false; ORM_CMN_CAL_WeeklyOfficeHours_Interval weeklyOfficeHours = ORM_CMN_CAL_WeeklyOfficeHours_Interval.Query.Search(Connection, Transaction, weeklyOfficeHoursQuery).FirstOrDefault(); switch (Parameter.SelectedDate.DayOfWeek) { case DayOfWeek.Monday: if (weeklyOfficeHours.IsMonday) { resultItem.ContractSpecifiedWorkTime_InMinutes = (int)(weeklyOfficeHours.TimeTo_InMinutes - weeklyOfficeHours.TimeFrom_InMinutes); } break; case DayOfWeek.Tuesday: if (weeklyOfficeHours.IsTuesday) { resultItem.ContractSpecifiedWorkTime_InMinutes = (int)(weeklyOfficeHours.TimeTo_InMinutes - weeklyOfficeHours.TimeFrom_InMinutes); } break; case DayOfWeek.Wednesday: if (weeklyOfficeHours.IsWednesday) { resultItem.ContractSpecifiedWorkTime_InMinutes = (int)(weeklyOfficeHours.TimeTo_InMinutes - weeklyOfficeHours.TimeFrom_InMinutes); } break; case DayOfWeek.Thursday: if (weeklyOfficeHours.IsThursday) { resultItem.ContractSpecifiedWorkTime_InMinutes = (int)(weeklyOfficeHours.TimeTo_InMinutes - weeklyOfficeHours.TimeFrom_InMinutes); } break; case DayOfWeek.Friday: if (weeklyOfficeHours.IsFriday) { resultItem.ContractSpecifiedWorkTime_InMinutes = (int)(weeklyOfficeHours.TimeTo_InMinutes - weeklyOfficeHours.TimeFrom_InMinutes); } break; case DayOfWeek.Saturday: if (weeklyOfficeHours.IsSaturday) { resultItem.ContractSpecifiedWorkTime_InMinutes = (int)(weeklyOfficeHours.TimeTo_InMinutes - weeklyOfficeHours.TimeFrom_InMinutes); } break; case DayOfWeek.Sunday: if (weeklyOfficeHours.IsSunday) { resultItem.ContractSpecifiedWorkTime_InMinutes = (int)(weeklyOfficeHours.TimeTo_InMinutes - weeklyOfficeHours.TimeFrom_InMinutes); } break; } WeeklyOfficeHours newWeeklyOfficeHour = new WeeklyOfficeHours(); newWeeklyOfficeHour.CMN_CAL_WeeklyOfficeHours_IntervalID = weeklyOfficeHours.CMN_CAL_WeeklyOfficeHours_IntervalID; newWeeklyOfficeHour.IsFriday = weeklyOfficeHours.IsFriday; newWeeklyOfficeHour.IsMonday = weeklyOfficeHours.IsMonday; newWeeklyOfficeHour.IsSaturday = weeklyOfficeHours.IsSaturday; newWeeklyOfficeHour.IsSunday = weeklyOfficeHours.IsSunday; newWeeklyOfficeHour.IsThursday = weeklyOfficeHours.IsThursday; newWeeklyOfficeHour.IsTuesday = weeklyOfficeHours.IsTuesday; newWeeklyOfficeHour.IsWednesday = weeklyOfficeHours.IsWednesday; newWeeklyOfficeHour.IsWholeDay = weeklyOfficeHours.IsWholeDay; newWeeklyOfficeHour.TimeFrom_InMinutes = weeklyOfficeHours.TimeFrom_InMinutes; newWeeklyOfficeHour.TimeTo_InMinutes = weeklyOfficeHours.TimeTo_InMinutes; listOfWeeklyOfficeHours.Add(newWeeklyOfficeHour); } resultItem.WeeklyOfficeHours = listOfWeeklyOfficeHours.ToArray(); } else { continue; } ORM_CMN_BPT_EMP_EmploymentRelationship_2_WorkingContract.Query relationShipToContractQuery = new ORM_CMN_BPT_EMP_EmploymentRelationship_2_WorkingContract.Query(); relationShipToContractQuery.EmploymentRelationship_RefID = employmentRelationship.CMN_BPT_EMP_EmploymentRelationshipID; relationShipToContractQuery.IsDeleted = false; relationShipToContractQuery.Tenant_RefID = securityTicket.TenantID; List <ORM_CMN_BPT_EMP_EmploymentRelationship_2_WorkingContract> relationShipToContracts = ORM_CMN_BPT_EMP_EmploymentRelationship_2_WorkingContract.Query.Search(Connection, Transaction, relationShipToContractQuery); List <L5EM_GEFE_1150_WorkingContract> resultWorkingContracts = new List <L5EM_GEFE_1150_WorkingContract>(); foreach (var relationShipToContract in relationShipToContracts) { L5EM_GEFE_1150_WorkingContract resultWorkingContract = new L5EM_GEFE_1150_WorkingContract(); ORM_CMN_BPT_EMP_WorkingContract workingContractItem = new ORM_CMN_BPT_EMP_WorkingContract(); workingContractItem.Load(Connection, Transaction, relationShipToContract.WorkingContract_RefID); resultWorkingContract.CMN_BPT_EMP_WorkingContractID = workingContractItem.CMN_BPT_EMP_WorkingContractID; resultWorkingContract.EmploymentRelationship_2_WorkingContractAssigmentID = relationShipToContract.AssignmentID; resultWorkingContract.IsContract_Active = relationShipToContract.IsContract_Active; resultWorkingContract.Contract_StartDate = workingContractItem.Contract_StartDate; resultWorkingContract.Contract_EndDate = workingContractItem.Contract_EndDate; resultWorkingContract.IsContractEndDateDefined = workingContractItem.IsContractEndDateDefined; resultWorkingContract.IsWorkTimeCalculated_InDays = workingContractItem.IsWorkTimeCalculated_InDays; resultWorkingContract.IsWorkTimeCalculated_InHours = workingContractItem.IsWorkTimeCalculated_InHours; resultWorkingContract.R_WorkTime_DaysPerWeek = workingContractItem.R_WorkTime_DaysPerWeek; resultWorkingContract.R_WorkTime_HoursPerWeek = workingContractItem.R_WorkTime_HoursPerWeek; resultWorkingContract.WorkingContract_InCurrency_RefID = workingContractItem.WorkingContract_InCurrency_RefID; resultWorkingContract.ExtraWorkCalculation_RefID = workingContractItem.ExtraWorkCalculation_RefID; resultWorkingContract.IsWorktimeChecked_Weekly = workingContractItem.IsWorktimeChecked_Weekly; resultWorkingContract.IsWorktimeChecked_Monthly = workingContractItem.IsWorktimeChecked_Monthly; resultWorkingContract.SurchargeCalculation_UseMaximum = workingContractItem.SurchargeCalculation_UseMaximum; resultWorkingContract.SurchargeCalculation_UseAccumulated = workingContractItem.SurchargeCalculation_UseAccumulated; resultWorkingContract.IsMealAllowanceProvided = workingContractItem.IsMealAllowanceProvided; resultWorkingContract.WorkingContract_Comment = workingContractItem.WorkingContract_Comment; ORM_CMN_BPT_EMP_WorkingContract_2_ExtraWorkSurcharge.Query contractToExtraWorkSurchargeQuery = new ORM_CMN_BPT_EMP_WorkingContract_2_ExtraWorkSurcharge.Query(); contractToExtraWorkSurchargeQuery.CMN_BPT_EMP_WorkingContract_RefID = workingContractItem.CMN_BPT_EMP_WorkingContractID; contractToExtraWorkSurchargeQuery.IsDeleted = false; contractToExtraWorkSurchargeQuery.Tenant_RefID = securityTicket.TenantID; var contractToExtraWorkSurchargeResult = ORM_CMN_BPT_EMP_WorkingContract_2_ExtraWorkSurcharge.Query.Search(Connection, Transaction, contractToExtraWorkSurchargeQuery); if (contractToExtraWorkSurchargeResult.Count != 0) { var nightTimeSurcharge = contractToExtraWorkSurchargeResult.FirstOrDefault(x => x.R_IsNightTimeSurcharge && !x.R_IsSpecialEventSurcharge); var specialEventSurcharge = contractToExtraWorkSurchargeResult.FirstOrDefault(x => x.R_IsSpecialEventSurcharge && !x.R_IsNightTimeSurcharge); if (nightTimeSurcharge != null) { resultWorkingContract.NightTime_Surcharge_RefID = nightTimeSurcharge.CMN_BPT_EMP_ExtraWorkCalculation_Surcharge_RefID; resultWorkingContract.MaximumAllowedNightTimeSurchargeTime_in_mins = nightTimeSurcharge.MaximumAllowedSurchargeTime_in_mins; } if (specialEventSurcharge != null) { resultWorkingContract.SpecialEvent_Surcharge_RefID = specialEventSurcharge.CMN_BPT_EMP_ExtraWorkCalculation_Surcharge_RefID; resultWorkingContract.MaximumAllowedSpecialEventSurchargeTime_in_mins = specialEventSurcharge.MaximumAllowedSurchargeTime_in_mins; } } //Office hours ORM_CMN_BPT_EMP_WorkingContract_2_WorkingDay.Query workingContractToWorkingDayQuery = new ORM_CMN_BPT_EMP_WorkingContract_2_WorkingDay.Query(); workingContractToWorkingDayQuery.CMN_BPT_EMP_WorkingContract_RefID = workingContractItem.CMN_BPT_EMP_WorkingContractID; //workingContractToWorkingDayQuery.Tenant_RefID = securityTicket.TenantID; workingContractToWorkingDayQuery.IsDeleted = false; List <ORM_CMN_BPT_EMP_WorkingContract_2_WorkingDay> workingDayAssigments = ORM_CMN_BPT_EMP_WorkingContract_2_WorkingDay.Query.Search(Connection, Transaction, workingContractToWorkingDayQuery); List <L5EM_GEFE_1150_WeeklyOfficeHours> resultWeeklyOfficeHours = new List <L5EM_GEFE_1150_WeeklyOfficeHours>(); foreach (var workingDayAssigment in workingDayAssigments) { ORM_CMN_CAL_WeeklyOfficeHours_Interval interval = new ORM_CMN_CAL_WeeklyOfficeHours_Interval(); interval.Load(Connection, Transaction, workingDayAssigment.CMN_CAL_WeeklyOfficeHours_Interval_RefID); L5EM_GEFE_1150_WeeklyOfficeHours resultOfficeHour = new L5EM_GEFE_1150_WeeklyOfficeHours(); resultOfficeHour.CMN_CAL_WeeklyOfficeHours_IntervalID = interval.CMN_CAL_WeeklyOfficeHours_IntervalID; resultOfficeHour.IsFriday = interval.IsFriday; resultOfficeHour.IsMonday = interval.IsMonday; resultOfficeHour.IsSaturday = interval.IsSaturday; resultOfficeHour.IsSunday = interval.IsSunday; resultOfficeHour.IsThursday = interval.IsThursday; resultOfficeHour.IsTuesday = interval.IsTuesday; resultOfficeHour.IsWednesday = interval.IsWednesday; resultOfficeHour.IsWholeDay = interval.IsWholeDay; resultOfficeHour.TimeFrom_InMinutes = interval.TimeFrom_InMinutes; resultOfficeHour.TimeTo_InMinutes = interval.TimeTo_InMinutes; resultWeeklyOfficeHours.Add(resultOfficeHour); } resultWorkingContract.WeeklyOfficeHours = resultWeeklyOfficeHours.ToArray(); ORM_CMN_BPT_EMP_WorkingContract_2_ContractEmploymentType.Query workingContractTypeQuery = new ORM_CMN_BPT_EMP_WorkingContract_2_ContractEmploymentType.Query(); workingContractTypeQuery.CMN_BPT_EMP_Employee_WorkingContract_RefID = workingContractItem.CMN_BPT_EMP_WorkingContractID; workingContractTypeQuery.Tenant_RefID = securityTicket.TenantID; workingContractTypeQuery.IsDeleted = false; ORM_CMN_BPT_EMP_WorkingContract_2_ContractEmploymentType workingContract_2_ContractEmploymentType = ORM_CMN_BPT_EMP_WorkingContract_2_ContractEmploymentType.Query.Search(Connection, Transaction, workingContractTypeQuery).FirstOrDefault(); if (workingContract_2_ContractEmploymentType != null) { ORM_CMN_BPT_EMP_WorkingContract_EmploymentType EmploymentType = new ORM_CMN_BPT_EMP_WorkingContract_EmploymentType(); EmploymentType.Load(Connection, Transaction, workingContract_2_ContractEmploymentType.CMN_BPT_EMP_WorkingContract_EmploymentTypeID); if (EmploymentType.CMN_BPT_EMP_Employee_WorkingContract_EmploymentTypeID != Guid.Empty) { resultWorkingContract.TypeOfEmployment = int.Parse(EmploymentType.GlobalPropertyMatchingID); } } //Allowed absence reasons ORM_CMN_BPT_EMP_WorkingContract_AllowedAbsenceReason.Query AllowedAbsenceReasonQuery = new ORM_CMN_BPT_EMP_WorkingContract_AllowedAbsenceReason.Query(); AllowedAbsenceReasonQuery.WorkingContract_RefID = resultWorkingContract.CMN_BPT_EMP_WorkingContractID; AllowedAbsenceReasonQuery.Tenant_RefID = securityTicket.TenantID; AllowedAbsenceReasonQuery.IsDeleted = false; List <ORM_CMN_BPT_EMP_WorkingContract_AllowedAbsenceReason> allowedAbsenceReasons = ORM_CMN_BPT_EMP_WorkingContract_AllowedAbsenceReason.Query.Search(Connection, Transaction, AllowedAbsenceReasonQuery); List <L5EM_GEFE_1150_WorkingContractToLeaveRequest> resultAllowedAbsenceReasons = new List <L5EM_GEFE_1150_WorkingContractToLeaveRequest>(); foreach (var allowedAbsenceReason in allowedAbsenceReasons) { ORM_CMN_BPT_STA_AbsenceReason absenceReason = new ORM_CMN_BPT_STA_AbsenceReason(); absenceReason.Load(Connection, Transaction, allowedAbsenceReason.STA_AbsenceReason_RefID); L5EM_GEFE_1150_WorkingContractToLeaveRequest resultReasonresultReason = new L5EM_GEFE_1150_WorkingContractToLeaveRequest(); resultReasonresultReason.CMN_BPT_EMP_WorkingContract_AllowedAbsenceReasonID = allowedAbsenceReason.CMN_BPT_EMP_WorkingContract_AllowedAbsenceReasonID; resultReasonresultReason.CMN_BPT_STA_AbsenceReasonID = absenceReason.CMN_BPT_STA_AbsenceReasonID; resultReasonresultReason.IsAbsenceCalculated_InDays = allowedAbsenceReason.IsAbsenceCalculated_InDays; resultReasonresultReason.IsAbsenceCalculated_InHours = allowedAbsenceReason.IsAbsenceCalculated_InHours; resultReasonresultReason.ContractAllowedAbsence_per_Month = allowedAbsenceReason.ContractAllowedAbsence_per_Month; resultReasonresultReason.AbsenceReasonName = absenceReason.Name; resultReasonresultReason.CMN_BPT_EMP_EmploymentRelationship_RefID = employmentRelationship.CMN_BPT_EMP_EmploymentRelationshipID; resultAllowedAbsenceReasons.Add(resultReasonresultReason); } resultWorkingContract.WorkingContractToLeaveRequest = resultAllowedAbsenceReasons.ToArray(); resultWorkingContracts.Add(resultWorkingContract); } resultItem.AllWorkingContracts = resultWorkingContracts.ToArray(); //Employee workplace history ORM_CMN_BPT_EMP_Employee_WorkplaceAssignment.Query employeeWorkplaceAssignmentsQuery = new ORM_CMN_BPT_EMP_Employee_WorkplaceAssignment.Query(); employeeWorkplaceAssignmentsQuery.CMN_BPT_EMP_Employee_RefID = employee.CMN_BPT_EMP_EmployeeID; employeeWorkplaceAssignmentsQuery.Tenant_RefID = securityTicket.TenantID; employeeWorkplaceAssignmentsQuery.IsDeleted = false; List <ORM_CMN_BPT_EMP_Employee_WorkplaceAssignment> employeeWorkplaceAssignemntsList = ORM_CMN_BPT_EMP_Employee_WorkplaceAssignment.Query.Search(Connection, Transaction, employeeWorkplaceAssignmentsQuery); List <L5EM_GEFE_1150_EmployeeWorkplaceHistory> employeeWorkplaceAssignments = new List <L5EM_GEFE_1150_EmployeeWorkplaceHistory>(); foreach (var workplaceAssignemns in employeeWorkplaceAssignemntsList) { L5EM_GEFE_1150_EmployeeWorkplaceHistory item = new L5EM_GEFE_1150_EmployeeWorkplaceHistory(); item.BoundTo_Workplace_RefID = workplaceAssignemns.BoundTo_Workplace_RefID; item.CMN_BPT_EMP_Employee_PlanGroup_RefID = workplaceAssignemns.CMN_BPT_EMP_Employee_PlanGroup_RefID; item.CMN_BPT_EMP_Employee_WorkplaceAssignmentID = workplaceAssignemns.CMN_BPT_EMP_Employee_WorkplaceAssignment; item.Default_BreakTime_Template_RefID = workplaceAssignemns.Default_BreakTime_Template_RefID; item.IsBreakTimeCalculated_Actual = workplaceAssignemns.IsBreakTimeCalculated_Actual; item.IsBreakTimeCalculated_Planning = workplaceAssignemns.IsBreakTimeCalculated_Planning; item.SequenceNumber = workplaceAssignemns.SequenceNumber; item.WorkplaceAssignment_StartDate = workplaceAssignemns.WorkplaceAssignment_StartDate; employeeWorkplaceAssignments.Add(item); } resultItem.AllWorkplaceHistories = employeeWorkplaceAssignments.ToArray(); //employee qualifications ORM_CMN_BPT_EMP_Employee_2_Skill.Query qualificationQuary = new ORM_CMN_BPT_EMP_Employee_2_Skill.Query(); qualificationQuary.Employee_RefID = employee.CMN_BPT_EMP_EmployeeID; qualificationQuary.Tenant_RefID = securityTicket.TenantID; qualificationQuary.IsDeleted = false; List <ORM_CMN_BPT_EMP_Employee_2_Skill> qualificationList = ORM_CMN_BPT_EMP_Employee_2_Skill.Query.Search(Connection, Transaction, qualificationQuary); List <L5EM_GEFE_1150_EmployeeQualification> employeeQualifications = new List <L5EM_GEFE_1150_EmployeeQualification>(); L5EM_GEFE_1150_EmployeeQualification employeeQualification; ORM_CMN_STR_Skill skillORM; foreach (var qualification in qualificationList) { employeeQualification = new L5EM_GEFE_1150_EmployeeQualification(); employeeQualification.QualificationAssignmentID = qualification.AssignmentID; employeeQualification.ProfessionObtainedAtDate = qualification.QualificationObtainedAtDate; employeeQualification.SkillName = new Dict(); if (qualification.Skill_RefID != Guid.Empty) { skillORM = new ORM_CMN_STR_Skill(); skillORM.Load(Connection, Transaction, qualification.Skill_RefID); employeeQualification.Skill_RefID = skillORM.CMN_STR_SkillID; employeeQualification.SkillName = skillORM.Skill_Name; } employeeQualifications.Add(employeeQualification); } resultItem.AllQualification = employeeQualifications.ToArray(); resultList.Add(resultItem); } returnValue.Result = resultList.ToArray(); return(returnValue); #endregion UserCode }
protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L5CT_SECT_1810 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_Guid(); ORM_CMN_BPT_EMP_WorkingContract workingContract = new ORM_CMN_BPT_EMP_WorkingContract(); if (Parameter.CMN_BPT_EMP_WorkingContractID != Guid.Empty) { var result = workingContract.Load(Connection, Transaction, Parameter.CMN_BPT_EMP_WorkingContractID); if (result.Status != FR_Status.Success || workingContract.CMN_BPT_EMP_WorkingContractID == Guid.Empty) { var error = new FR_Guid(); error.ErrorMessage = "No Such ID"; error.Status = FR_Status.Error_Internal; return(error); } } workingContract.Contract_EndDate = Parameter.Contract_EndDate; workingContract.Contract_StartDate = Parameter.Contract_StartDate; workingContract.IsContractEndDateDefined = Parameter.IsContractEndDateDefined; workingContract.IsWorkTimeCalculated_InDays = Parameter.IsWorkTimeCalculated_InDays; workingContract.IsWorkTimeCalculated_InHours = Parameter.IsWorkTimeCalculated_InHours; workingContract.R_WorkTime_DaysPerWeek = Parameter.R_WorkTime_DaysPerWeek; workingContract.R_WorkTime_HoursPerWeek = Parameter.R_WorkTime_HoursPerWeek; workingContract.ExtraWorkCalculation_RefID = Parameter.ExtraWorkCalculation_RefID; workingContract.WorkingContract_InCurrency_RefID = Parameter.WorkingContract_InCurrency_RefID; workingContract.IsWorktimeChecked_Monthly = Parameter.IsWorktimeChecked_Monthly; workingContract.IsWorktimeChecked_Weekly = Parameter.IsWorktimeChecked_Weekly; workingContract.IsMealAllowanceProvided = Parameter.IsMealAllowanceProvided; workingContract.SurchargeCalculation_UseAccumulated = Parameter.SurchargeCalculation_UseAccumulated; workingContract.SurchargeCalculation_UseMaximum = Parameter.SurchargeCalculation_UseMaximum; workingContract.WorkingContract_Comment = Parameter.WorkingContract_Comment; workingContract.Tenant_RefID = securityTicket.TenantID; workingContract.Save(Connection, Transaction); returnValue.Result = workingContract.CMN_BPT_EMP_WorkingContractID; //Night time surcharges ORM_CMN_BPT_EMP_WorkingContract_2_ExtraWorkSurcharge.Query contractToNightTimeSurchargeQuery = new ORM_CMN_BPT_EMP_WorkingContract_2_ExtraWorkSurcharge.Query(); contractToNightTimeSurchargeQuery.CMN_BPT_EMP_ExtraWorkCalculation_Surcharge_RefID = Parameter.NightTime_Surcharge_RefID; contractToNightTimeSurchargeQuery.CMN_BPT_EMP_WorkingContract_RefID = workingContract.CMN_BPT_EMP_WorkingContractID; contractToNightTimeSurchargeQuery.R_IsNightTimeSurcharge = true; contractToNightTimeSurchargeQuery.R_IsSpecialEventSurcharge = false; contractToNightTimeSurchargeQuery.IsDeleted = false; contractToNightTimeSurchargeQuery.Tenant_RefID = securityTicket.TenantID; var nightTimeSurchargeQueryResult = ORM_CMN_BPT_EMP_WorkingContract_2_ExtraWorkSurcharge.Query.Search(Connection, Transaction, contractToNightTimeSurchargeQuery); if (nightTimeSurchargeQueryResult.Count != 0) { ORM_CMN_BPT_EMP_WorkingContract_2_ExtraWorkSurcharge contractToNightTimeSurcharge = nightTimeSurchargeQueryResult.FirstOrDefault(); contractToNightTimeSurcharge.MaximumAllowedSurchargeTime_in_mins = Parameter.MaximumAllowedNightTimeSurchargeTime_in_mins; contractToNightTimeSurcharge.Save(Connection, Transaction); } else { ORM_CMN_BPT_EMP_WorkingContract_2_ExtraWorkSurcharge contractToNightTimeSurcharge = new ORM_CMN_BPT_EMP_WorkingContract_2_ExtraWorkSurcharge(); contractToNightTimeSurcharge.CMN_BPT_EMP_ExtraWorkCalculation_Surcharge_RefID = Parameter.NightTime_Surcharge_RefID; contractToNightTimeSurcharge.CMN_BPT_EMP_WorkingContract_RefID = workingContract.CMN_BPT_EMP_WorkingContractID; contractToNightTimeSurcharge.R_IsNightTimeSurcharge = true; contractToNightTimeSurcharge.R_IsSpecialEventSurcharge = false; contractToNightTimeSurcharge.MaximumAllowedSurchargeTime_in_mins = Parameter.MaximumAllowedNightTimeSurchargeTime_in_mins; contractToNightTimeSurcharge.Tenant_RefID = securityTicket.TenantID; contractToNightTimeSurcharge.Save(Connection, Transaction); } //Special event surcharges ORM_CMN_BPT_EMP_WorkingContract_2_ExtraWorkSurcharge.Query contractToSpecialEventSurchargeQuery = new ORM_CMN_BPT_EMP_WorkingContract_2_ExtraWorkSurcharge.Query(); contractToSpecialEventSurchargeQuery.CMN_BPT_EMP_ExtraWorkCalculation_Surcharge_RefID = Parameter.SpecialEvent_Surcharge_RefID; contractToSpecialEventSurchargeQuery.CMN_BPT_EMP_WorkingContract_RefID = workingContract.CMN_BPT_EMP_WorkingContractID; contractToSpecialEventSurchargeQuery.R_IsNightTimeSurcharge = false; contractToSpecialEventSurchargeQuery.R_IsSpecialEventSurcharge = true; contractToSpecialEventSurchargeQuery.IsDeleted = false; contractToSpecialEventSurchargeQuery.Tenant_RefID = securityTicket.TenantID; var specialEventSurchargeQueryResult = ORM_CMN_BPT_EMP_WorkingContract_2_ExtraWorkSurcharge.Query.Search(Connection, Transaction, contractToSpecialEventSurchargeQuery); if (specialEventSurchargeQueryResult.Count != 0) { ORM_CMN_BPT_EMP_WorkingContract_2_ExtraWorkSurcharge contractToSpecialEventSurcharge = specialEventSurchargeQueryResult.FirstOrDefault(); contractToSpecialEventSurcharge.MaximumAllowedSurchargeTime_in_mins = Parameter.MaximumAllowedSpecialEventSurchargeTime_in_mins; contractToSpecialEventSurcharge.Save(Connection, Transaction); } else { ORM_CMN_BPT_EMP_WorkingContract_2_ExtraWorkSurcharge contractToSpecialEventSurcharge = new ORM_CMN_BPT_EMP_WorkingContract_2_ExtraWorkSurcharge(); contractToSpecialEventSurcharge.CMN_BPT_EMP_ExtraWorkCalculation_Surcharge_RefID = Parameter.SpecialEvent_Surcharge_RefID; contractToSpecialEventSurcharge.CMN_BPT_EMP_WorkingContract_RefID = workingContract.CMN_BPT_EMP_WorkingContractID; contractToSpecialEventSurcharge.R_IsNightTimeSurcharge = false; contractToSpecialEventSurcharge.R_IsSpecialEventSurcharge = true; contractToSpecialEventSurcharge.MaximumAllowedSurchargeTime_in_mins = Parameter.MaximumAllowedSpecialEventSurchargeTime_in_mins; contractToSpecialEventSurcharge.Tenant_RefID = securityTicket.TenantID; contractToSpecialEventSurcharge.Save(Connection, Transaction); } ORM_CMN_BPT_EMP_EmploymentRelationship_2_WorkingContract contractToEmployeeRelationship = new ORM_CMN_BPT_EMP_EmploymentRelationship_2_WorkingContract(); if (Parameter.EmployeeRelationshipToWorkingContractAssignmentID != Guid.Empty) { ORM_CMN_BPT_EMP_EmploymentRelationship_2_WorkingContract.Query contractToEmployeeRelationshipQuery = new ORM_CMN_BPT_EMP_EmploymentRelationship_2_WorkingContract.Query(); contractToEmployeeRelationshipQuery.AssignmentID = Parameter.EmployeeRelationshipToWorkingContractAssignmentID; contractToEmployeeRelationshipQuery.IsDeleted = false; contractToEmployeeRelationshipQuery.Tenant_RefID = securityTicket.TenantID; contractToEmployeeRelationship = ORM_CMN_BPT_EMP_EmploymentRelationship_2_WorkingContract.Query.Search(Connection, Transaction, contractToEmployeeRelationshipQuery).FirstOrDefault(); } contractToEmployeeRelationship.WorkingContract_RefID = workingContract.CMN_BPT_EMP_WorkingContractID; contractToEmployeeRelationship.EmploymentRelationship_RefID = Parameter.EmploymentRelationship_RefID; contractToEmployeeRelationship.IsContract_Active = Parameter.IsActive_WorkingContract; contractToEmployeeRelationship.Tenant_RefID = securityTicket.TenantID; contractToEmployeeRelationship.Save(Connection, Transaction); if (Parameter.LastActive_WorkingContractID != Guid.Empty) { ORM_CMN_BPT_EMP_EmploymentRelationship_2_WorkingContract.Query lastActiveContractToEmployeeRelationshipQuery = new ORM_CMN_BPT_EMP_EmploymentRelationship_2_WorkingContract.Query(); lastActiveContractToEmployeeRelationshipQuery.WorkingContract_RefID = Parameter.LastActive_WorkingContractID; lastActiveContractToEmployeeRelationshipQuery.IsDeleted = false; lastActiveContractToEmployeeRelationshipQuery.Tenant_RefID = securityTicket.TenantID; ORM_CMN_BPT_EMP_EmploymentRelationship_2_WorkingContract lastActiveContractToEmployeeRelationship = ORM_CMN_BPT_EMP_EmploymentRelationship_2_WorkingContract.Query.Search(Connection, Transaction, lastActiveContractToEmployeeRelationshipQuery).FirstOrDefault(); lastActiveContractToEmployeeRelationship.IsContract_Active = false; lastActiveContractToEmployeeRelationship.Save(Connection, Transaction); ORM_CMN_BPT_EMP_WorkingContract.Query lastActiveContractQuery = new ORM_CMN_BPT_EMP_WorkingContract.Query(); lastActiveContractQuery.CMN_BPT_EMP_WorkingContractID = Parameter.LastActive_WorkingContractID; lastActiveContractQuery.IsDeleted = false; lastActiveContractQuery.Tenant_RefID = securityTicket.TenantID; var lastActiveContract = ORM_CMN_BPT_EMP_WorkingContract.Query.Search(Connection, Transaction, lastActiveContractQuery).FirstOrDefault(); if (!lastActiveContract.IsContractEndDateDefined) { lastActiveContract.Contract_EndDate = Parameter.Contract_StartDate; lastActiveContract.IsContractEndDateDefined = true; lastActiveContract.Save(Connection, Transaction); } } foreach (P_L5CT_SECT_1810_WorkingContractAllowedAbsenceReason obj in Parameter.WorkingContractAllowedAbsenceReason) { ORM_CMN_BPT_EMP_WorkingContract_AllowedAbsenceReason contractToabsenceReason = new ORM_CMN_BPT_EMP_WorkingContract_AllowedAbsenceReason(); if (obj.WorkingContractAllowedAbsenceReasonID != Guid.Empty) { ORM_CMN_BPT_EMP_WorkingContract_AllowedAbsenceReason.Query contractToabsenceReasonQuery = new ORM_CMN_BPT_EMP_WorkingContract_AllowedAbsenceReason.Query(); contractToabsenceReasonQuery.CMN_BPT_EMP_WorkingContract_AllowedAbsenceReasonID = obj.WorkingContractAllowedAbsenceReasonID; contractToabsenceReasonQuery.IsDeleted = false; contractToabsenceReasonQuery.Tenant_RefID = securityTicket.TenantID; contractToabsenceReason = ORM_CMN_BPT_EMP_WorkingContract_AllowedAbsenceReason.Query.Search(Connection, Transaction, contractToabsenceReasonQuery).FirstOrDefault(); } contractToabsenceReason.ContractAllowedAbsence_per_Month = obj.ContractAllowedAbsence; contractToabsenceReason.WorkingContract_RefID = workingContract.CMN_BPT_EMP_WorkingContractID; contractToabsenceReason.IsAbsenceCalculated_InDays = Parameter.IsWorkTimeCalculated_InDays; contractToabsenceReason.IsAbsenceCalculated_InHours = Parameter.IsWorkTimeCalculated_InHours; contractToabsenceReason.STA_AbsenceReason_RefID = obj.AbsenceReasonRefID; contractToabsenceReason.Tenant_RefID = securityTicket.TenantID; contractToabsenceReason.Save(Connection, Transaction); } ORM_CMN_BPT_EMP_WorkingContract_2_WorkingDay.Query query = new ORM_CMN_BPT_EMP_WorkingContract_2_WorkingDay.Query(); query.CMN_BPT_EMP_WorkingContract_RefID = workingContract.CMN_BPT_EMP_WorkingContractID; foreach (ORM_CMN_BPT_EMP_WorkingContract_2_WorkingDay obj in ORM_CMN_BPT_EMP_WorkingContract_2_WorkingDay.Query.Search(Connection, Transaction, query)) { ORM_CMN_CAL_WeeklyOfficeHours_Interval.Query intervalQuery = new ORM_CMN_CAL_WeeklyOfficeHours_Interval.Query(); intervalQuery.CMN_CAL_WeeklyOfficeHours_IntervalID = obj.CMN_CAL_WeeklyOfficeHours_Interval_RefID; ORM_CMN_CAL_WeeklyOfficeHours_Interval.Query.SoftDelete(Connection, Transaction, intervalQuery); } ORM_CMN_BPT_EMP_WorkingContract_2_WorkingDay.Query.SoftDelete(Connection, Transaction, query); foreach (P_L5CT_SECT_1810_WeeklyOfficeHours obj in Parameter.WeeklyOfficeHours) { ORM_CMN_BPT_EMP_WorkingContract_2_WorkingDay workingContractToWorkingDay = new ORM_CMN_BPT_EMP_WorkingContract_2_WorkingDay(); workingContractToWorkingDay.CMN_BPT_EMP_WorkingContract_RefID = workingContract.CMN_BPT_EMP_WorkingContractID; ORM_CMN_CAL_WeeklyOfficeHours_Interval weeklyOfficeHoursInterval = new ORM_CMN_CAL_WeeklyOfficeHours_Interval(); weeklyOfficeHoursInterval.IsMonday = obj.IsMonday; weeklyOfficeHoursInterval.IsTuesday = obj.IsTuesday; weeklyOfficeHoursInterval.IsWednesday = obj.IsWednesday; weeklyOfficeHoursInterval.IsThursday = obj.IsThursday; weeklyOfficeHoursInterval.IsFriday = obj.IsFriday; weeklyOfficeHoursInterval.IsSaturday = obj.IsSaturday; weeklyOfficeHoursInterval.IsSunday = obj.IsSunday; weeklyOfficeHoursInterval.TimeFrom_InMinutes = obj.TimeFrom_InMinutes; weeklyOfficeHoursInterval.TimeTo_InMinutes = obj.TimeTo_InMinutes; weeklyOfficeHoursInterval.Tenant_RefID = securityTicket.TenantID; weeklyOfficeHoursInterval.IsWholeDay = obj.IsWholeDay; weeklyOfficeHoursInterval.Save(Connection, Transaction); workingContractToWorkingDay.CMN_CAL_WeeklyOfficeHours_Interval_RefID = weeklyOfficeHoursInterval.CMN_CAL_WeeklyOfficeHours_IntervalID; workingContractToWorkingDay.Tenant_RefID = securityTicket.TenantID; workingContractToWorkingDay.Save(Connection, Transaction); } ORM_CMN_BPT_EMP_WorkingContract_2_ContractEmploymentType.Query workingContractTypeQuery = new ORM_CMN_BPT_EMP_WorkingContract_2_ContractEmploymentType.Query(); workingContractTypeQuery.CMN_BPT_EMP_Employee_WorkingContract_RefID = workingContract.CMN_BPT_EMP_WorkingContractID; workingContractTypeQuery.Tenant_RefID = securityTicket.TenantID; workingContractTypeQuery.IsDeleted = false; ORM_CMN_BPT_EMP_WorkingContract_2_ContractEmploymentType workingContract_2_ContractEmploymentType = ORM_CMN_BPT_EMP_WorkingContract_2_ContractEmploymentType.Query.Search(Connection, Transaction, workingContractTypeQuery).FirstOrDefault(); if (workingContract_2_ContractEmploymentType != null) { ORM_CMN_BPT_EMP_WorkingContract_EmploymentType.Query employmentTypeQuery = new ORM_CMN_BPT_EMP_WorkingContract_EmploymentType.Query(); employmentTypeQuery.Tenant_RefID = securityTicket.TenantID; employmentTypeQuery.IsDeleted = false; employmentTypeQuery.GlobalPropertyMatchingID = Parameter.TypeOfEmployment.ToString(); ORM_CMN_BPT_EMP_WorkingContract_EmploymentType newEmploymentType = ORM_CMN_BPT_EMP_WorkingContract_EmploymentType.Query.Search(Connection, Transaction, employmentTypeQuery).FirstOrDefault(); if (newEmploymentType != null) { workingContract_2_ContractEmploymentType.CMN_BPT_EMP_WorkingContract_EmploymentTypeID = newEmploymentType.CMN_BPT_EMP_Employee_WorkingContract_EmploymentTypeID; workingContract_2_ContractEmploymentType.Save(Connection, Transaction); } } else { ORM_CMN_BPT_EMP_WorkingContract_EmploymentType.Query employmentTypeQuery = new ORM_CMN_BPT_EMP_WorkingContract_EmploymentType.Query(); employmentTypeQuery.Tenant_RefID = securityTicket.TenantID; employmentTypeQuery.IsDeleted = false; List <ORM_CMN_BPT_EMP_WorkingContract_EmploymentType> employmentTypes = ORM_CMN_BPT_EMP_WorkingContract_EmploymentType.Query.Search(Connection, Transaction, employmentTypeQuery); ORM_CMN_BPT_EMP_WorkingContract_EmploymentType newEmploymentType = new ORM_CMN_BPT_EMP_WorkingContract_EmploymentType(); if (employmentTypes.Count == 0) { Guid german = Guid.Empty; Guid english = Guid.Empty; L2LN_GAL_1526[] AllLanguages = cls_Get_All_Languages.Invoke(Connection, Transaction, securityTicket).Result; foreach (var language in AllLanguages) { if (language.ISO_639_1.ToUpper() == "DE") { german = language.CMN_LanguageID; } else if (language.ISO_639_1.ToUpper() == "EN") { english = language.CMN_LanguageID; } } newEmploymentType.CMN_BPT_EMP_Employee_WorkingContract_EmploymentTypeID = Guid.NewGuid(); newEmploymentType.EmploymentType_Description = new Dict("CMN_BPT_EMP_WorkingContract_EmploymentType"); newEmploymentType.EmploymentType_Description.DictionaryID = Guid.NewGuid(); newEmploymentType.EmploymentType_Description.AddEntry(german, "Festangestellte"); newEmploymentType.EmploymentType_Description.AddEntry(english, "permanent worker"); newEmploymentType.EmploymentType_Name = new Dict("CMN_BPT_EMP_WorkingContract_EmploymentType"); newEmploymentType.EmploymentType_Name.DictionaryID = Guid.NewGuid(); newEmploymentType.EmploymentType_Name.AddEntry(german, "Festangestellte"); newEmploymentType.EmploymentType_Name.AddEntry(english, "permanent worker"); newEmploymentType.GlobalPropertyMatchingID = "0"; newEmploymentType.Tenant_RefID = securityTicket.TenantID; newEmploymentType.Save(Connection, Transaction); newEmploymentType = new ORM_CMN_BPT_EMP_WorkingContract_EmploymentType(); newEmploymentType.CMN_BPT_EMP_Employee_WorkingContract_EmploymentTypeID = Guid.NewGuid(); newEmploymentType.EmploymentType_Description = new Dict("CMN_BPT_EMP_WorkingContract_EmploymentType"); newEmploymentType.EmploymentType_Description.DictionaryID = Guid.NewGuid(); newEmploymentType.EmploymentType_Description.AddEntry(german, "Aushilfe"); newEmploymentType.EmploymentType_Description.AddEntry(english, "temporary worker"); newEmploymentType.EmploymentType_Name = new Dict("CMN_BPT_EMP_WorkingContract_EmploymentType"); newEmploymentType.EmploymentType_Name.DictionaryID = Guid.NewGuid(); newEmploymentType.EmploymentType_Name.AddEntry(german, "Aushilfe"); newEmploymentType.EmploymentType_Name.AddEntry(english, "temporary worker"); newEmploymentType.GlobalPropertyMatchingID = "1"; newEmploymentType.Tenant_RefID = securityTicket.TenantID; newEmploymentType.Save(Connection, Transaction); newEmploymentType = new ORM_CMN_BPT_EMP_WorkingContract_EmploymentType(); newEmploymentType.CMN_BPT_EMP_Employee_WorkingContract_EmploymentTypeID = Guid.NewGuid(); newEmploymentType.EmploymentType_Description = new Dict("CMN_BPT_EMP_WorkingContract_EmploymentType"); newEmploymentType.EmploymentType_Description.DictionaryID = Guid.NewGuid(); newEmploymentType.EmploymentType_Description.AddEntry(german, "Contract worker"); newEmploymentType.EmploymentType_Description.AddEntry(english, "Leiharbeiter"); newEmploymentType.EmploymentType_Name = new Dict("CMN_BPT_EMP_WorkingContract_EmploymentType"); newEmploymentType.EmploymentType_Name.DictionaryID = Guid.NewGuid(); newEmploymentType.EmploymentType_Name.AddEntry(german, "Contract worker"); newEmploymentType.EmploymentType_Name.AddEntry(english, "Leiharbeiter"); newEmploymentType.GlobalPropertyMatchingID = "2"; newEmploymentType.Tenant_RefID = securityTicket.TenantID; newEmploymentType.Save(Connection, Transaction); } ORM_CMN_BPT_EMP_WorkingContract_2_ContractEmploymentType employmentType2Contract = new ORM_CMN_BPT_EMP_WorkingContract_2_ContractEmploymentType(); employmentType2Contract.Tenant_RefID = securityTicket.TenantID; employmentType2Contract.IsDeleted = false; employmentType2Contract.CMN_BPT_EMP_Employee_WorkingContract_RefID = workingContract.CMN_BPT_EMP_WorkingContractID; ORM_CMN_BPT_EMP_WorkingContract_EmploymentType.Query newEmploymentTypeQuery = new ORM_CMN_BPT_EMP_WorkingContract_EmploymentType.Query(); newEmploymentTypeQuery.Tenant_RefID = securityTicket.TenantID; newEmploymentTypeQuery.IsDeleted = false; newEmploymentTypeQuery.GlobalPropertyMatchingID = Parameter.TypeOfEmployment.ToString(); newEmploymentType = ORM_CMN_BPT_EMP_WorkingContract_EmploymentType.Query.Search(Connection, Transaction, newEmploymentTypeQuery).FirstOrDefault(); if (newEmploymentType != null) { employmentType2Contract.CMN_BPT_EMP_WorkingContract_EmploymentTypeID = newEmploymentType.CMN_BPT_EMP_Employee_WorkingContract_EmploymentTypeID; employmentType2Contract.Save(Connection, Transaction); } } return(returnValue); #endregion UserCode }