protected static FR_L5EM_GEFT_0959_Array Execute(DbConnection Connection, DbTransaction Transaction, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_L5EM_GEFT_0959_Array(); List <L5EM_GEFT_0959> employeeResultList = new List <L5EM_GEFT_0959>(); ORM_CMN_BPT_EMP_Employee.Query employeeQuery = new ORM_CMN_BPT_EMP_Employee.Query(); employeeQuery.IsDeleted = false; employeeQuery.Tenant_RefID = securityTicket.TenantID; List <ORM_CMN_BPT_EMP_Employee> employeeList = ORM_CMN_BPT_EMP_Employee.Query.Search(Connection, Transaction, employeeQuery); foreach (var employeeItem in employeeList) { L5EM_GEFT_0959 result = new L5EM_GEFT_0959(); ORM_CMN_BPT_EMP_Employee employee = new ORM_CMN_BPT_EMP_Employee(); employee.Load(Connection, Transaction, employeeItem.CMN_BPT_EMP_EmployeeID); result.CMN_BPT_EMP_EmployeeID = employee.CMN_BPT_EMP_EmployeeID; result.Staff_Number = employee.Staff_Number; result.StandardFunction = employee.StandardFunction; ORM_USR_Account.Query accountQuery = new ORM_USR_Account.Query(); accountQuery.BusinessParticipant_RefID = employee.BusinessParticipant_RefID; accountQuery.Tenant_RefID = securityTicket.TenantID; accountQuery.IsDeleted = false; ORM_USR_Account account = ORM_USR_Account.Query.Search(Connection, Transaction, accountQuery).FirstOrDefault(); if (account != null) { result.USR_AccountID = account.USR_AccountID; } ORM_CMN_BPT_BusinessParticipant businessParticipant = new ORM_CMN_BPT_BusinessParticipant(); businessParticipant.Load(Connection, Transaction, employee.BusinessParticipant_RefID); result.CMN_BPT_BusinessParticipantID = businessParticipant.CMN_BPT_BusinessParticipantID; result.DisplayName = businessParticipant.DisplayName; ORM_CMN_PER_PersonInfo personInfo = new ORM_CMN_PER_PersonInfo(); personInfo.Load(Connection, Transaction, businessParticipant.IfNaturalPerson_CMN_PER_PersonInfo_RefID); result.CMN_PER_PersonInfoID = personInfo.CMN_PER_PersonInfoID; result.FirstName = personInfo.FirstName; result.LastName = personInfo.LastName; result.PrimaryEmail = personInfo.PrimaryEmail; result.Title = personInfo.Title; result.ProfileImage_Document_RefID = personInfo.ProfileImage_Document_RefID; result.BirthDate = personInfo.BirthDate; ORM_CMN_BPT_EMP_EmploymentRelationship.Query workingContractQuery = new ORM_CMN_BPT_EMP_EmploymentRelationship.Query(); workingContractQuery.Employee_RefID = employee.CMN_BPT_EMP_EmployeeID; workingContractQuery.IsDeleted = false; workingContractQuery.Tenant_RefID = securityTicket.TenantID; ORM_CMN_BPT_EMP_EmploymentRelationship employmentRelationship = ORM_CMN_BPT_EMP_EmploymentRelationship.Query.Search(Connection, Transaction, workingContractQuery).FirstOrDefault(); result.CMN_BPT_EMP_EmploymentRelationshipID = employmentRelationship.CMN_BPT_EMP_EmploymentRelationshipID; result.Work_StartDate = employmentRelationship.Work_StartDate; result.Work_EndDate = employmentRelationship.Work_EndDate; //Address if (personInfo.Address_RefID != Guid.Empty) { ORM_CMN_Address address = new ORM_CMN_Address(); address.Load(Connection, Transaction, personInfo.Address_RefID); result.CMN_AddressID = address.CMN_AddressID; result.Street_Name = address.Street_Name; result.Street_Number = address.Street_Number; result.City_AdministrativeDistrict = address.City_AdministrativeDistrict; result.City_Region = address.City_Region; result.City_Name = address.City_Name; result.City_PostalCode = address.City_PostalCode; result.Province_Name = address.Province_Name; result.Country_Name = address.Country_Name; result.Country_ISOCode = address.Country_ISOCode; } //Contacts ORM_CMN_PER_CommunicationContact.Query comunicationContactQuery = new ORM_CMN_PER_CommunicationContact.Query(); comunicationContactQuery.PersonInfo_RefID = personInfo.CMN_PER_PersonInfoID; comunicationContactQuery.Tenant_RefID = securityTicket.TenantID; comunicationContactQuery.IsDeleted = false; List <ORM_CMN_PER_CommunicationContact> comunicationContacts = ORM_CMN_PER_CommunicationContact.Query.Search(Connection, Transaction, comunicationContactQuery); List <L5EM_GEFT_0959_Contacts> resultComunicationContacts = new List <L5EM_GEFT_0959_Contacts>(); foreach (var comunicationContact in comunicationContacts) { ORM_CMN_PER_CommunicationContact_Type contactType = new ORM_CMN_PER_CommunicationContact_Type(); contactType.Load(Connection, Transaction, comunicationContact.CMN_PER_CommunicationContactID); L5EM_GEFT_0959_Contacts resultComunicationContact = new L5EM_GEFT_0959_Contacts(); resultComunicationContact.CMN_PER_CommunicationContact_TypeID = contactType.CMN_PER_CommunicationContact_TypeID; resultComunicationContact.CMN_PER_CommunicationContactID = comunicationContact.CMN_PER_CommunicationContactID; resultComunicationContact.Content = comunicationContact.Content; resultComunicationContact.Type = contactType.Type; resultComunicationContacts.Add(resultComunicationContact); } result.Contacts = resultComunicationContacts.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_GEFT_0959_EmployeeWorkplaceHistory> employeeWorkplaceAssignments = new List <L5EM_GEFT_0959_EmployeeWorkplaceHistory>(); foreach (var workplaceAssignemns in employeeWorkplaceAssignemntsList) { L5EM_GEFT_0959_EmployeeWorkplaceHistory item = new L5EM_GEFT_0959_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); } result.EmployeeWorkplaceHistory = employeeWorkplaceAssignments.ToArray(); //Contracts ORM_CMN_BPT_EMP_EmploymentRelationship_2_WorkingContract.Query contractTermQuery = new ORM_CMN_BPT_EMP_EmploymentRelationship_2_WorkingContract.Query(); contractTermQuery.EmploymentRelationship_RefID = employmentRelationship.CMN_BPT_EMP_EmploymentRelationshipID; contractTermQuery.IsDeleted = false; contractTermQuery.Tenant_RefID = securityTicket.TenantID; List <ORM_CMN_BPT_EMP_EmploymentRelationship_2_WorkingContract> contracts = ORM_CMN_BPT_EMP_EmploymentRelationship_2_WorkingContract.Query.Search(Connection, Transaction, contractTermQuery); List <L5EM_GEFT_0959_WorkingContracts> resultContracts = new List <L5EM_GEFT_0959_WorkingContracts>(); foreach (var contractToRelationship in contracts) { L5EM_GEFT_0959_WorkingContracts resultContract = new L5EM_GEFT_0959_WorkingContracts(); ORM_CMN_BPT_EMP_WorkingContract workingContract = new ORM_CMN_BPT_EMP_WorkingContract(); workingContract.Load(Connection, Transaction, contractToRelationship.WorkingContract_RefID); if (!workingContract.IsDeleted) { resultContract.CMN_BPT_EMP_WorkingContractID = workingContract.CMN_BPT_EMP_WorkingContractID; resultContract.EmploymentRelationshipToWorkingContractAssignmentID = contractToRelationship.AssignmentID; resultContract.IsWorkingContract_Active = contractToRelationship.IsContract_Active; resultContract.Contract_StartDate = workingContract.Contract_StartDate; resultContract.Contract_EndDate = workingContract.Contract_EndDate; resultContract.IsContractEndDateDefined = workingContract.IsContractEndDateDefined; resultContract.IsWorkTimeCalculated_InDays = workingContract.IsWorkTimeCalculated_InDays; resultContract.IsWorkTimeCalculated_InHours = workingContract.IsWorkTimeCalculated_InHours; resultContract.R_WorkTime_DaysPerWeek = workingContract.R_WorkTime_DaysPerWeek; resultContract.R_WorkTime_HoursPerWeek = workingContract.R_WorkTime_HoursPerWeek; //Office hours ORM_CMN_BPT_EMP_WorkingContract_2_WorkingDay.Query workingContractTermToWorkingDayQuery = new ORM_CMN_BPT_EMP_WorkingContract_2_WorkingDay.Query(); workingContractTermToWorkingDayQuery.CMN_BPT_EMP_WorkingContract_RefID = workingContract.CMN_BPT_EMP_WorkingContractID; workingContractTermToWorkingDayQuery.Tenant_RefID = securityTicket.TenantID; workingContractTermToWorkingDayQuery.IsDeleted = false; List <ORM_CMN_BPT_EMP_WorkingContract_2_WorkingDay> workingDayAssigments = ORM_CMN_BPT_EMP_WorkingContract_2_WorkingDay.Query.Search(Connection, Transaction, workingContractTermToWorkingDayQuery); List <L5EM_GEFT_0959_WeeklyOfficeHours> resultWeeklyOfficeHours = new List <L5EM_GEFT_0959_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_GEFT_0959_WeeklyOfficeHours resultOfficeHour = new L5EM_GEFT_0959_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); } resultContract.WeeklyOfficeHours = resultWeeklyOfficeHours.ToArray(); //Allowed absence reasons ORM_CMN_BPT_EMP_WorkingContract_AllowedAbsenceReason.Query AllowedAbsenceReasonQuery = new ORM_CMN_BPT_EMP_WorkingContract_AllowedAbsenceReason.Query(); AllowedAbsenceReasonQuery.WorkingContract_RefID = resultContract.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_GEFT_0959_WorkingContractToLeaveRequest> resultAllowedAbsenceReasons = new List <L5EM_GEFT_0959_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_GEFT_0959_WorkingContractToLeaveRequest resultReasonresultReason = new L5EM_GEFT_0959_WorkingContractToLeaveRequest(); resultReasonresultReason.CMN_BPT_EMP_Employee_WorkingContract_AllowedAbsenceReasonID = allowedAbsenceReason.CMN_BPT_EMP_WorkingContract_AllowedAbsenceReasonID; resultReasonresultReason.STA_AbsenceReason_RefID = 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; resultAllowedAbsenceReasons.Add(resultReasonresultReason); } resultContract.WorkingContractToLeaveRequest = resultAllowedAbsenceReasons.ToArray(); resultContracts.Add(resultContract); } } result.WorkingContracts = resultContracts.ToArray(); employeeResultList.Add(result); } returnValue.Result = employeeResultList.ToArray(); //Put your code here 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 }
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_L5OU_SPUOH_1111 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_Guid(); foreach (var item in Parameter.OpeningHours) { #region Non-working Hours if (item.IsNonWorkingHours) { var workTimeExceptionsQuery = new ORM_CMN_STR_Office_WorktimeTemplateException.Query(); workTimeExceptionsQuery.IsDeleted = false; workTimeExceptionsQuery.Tenant_RefID = securityTicket.TenantID; workTimeExceptionsQuery.Office_RefID = Parameter.OfficeID; workTimeExceptionsQuery.CMN_STR_Office_WorktimeTemplateExceptionID = item.TimeID; var workTimeExceptions = ORM_CMN_STR_Office_WorktimeTemplateException.Query.Search(Connection, Transaction, workTimeExceptionsQuery).SingleOrDefault(); #region Delete if (item.IsDeleted) { if (workTimeExceptions != null) { workTimeExceptions.IsDeleted = true; workTimeExceptions.Save(Connection, Transaction); } } #endregion else { #region Save if (workTimeExceptions == null) { workTimeExceptions = new ORM_CMN_STR_Office_WorktimeTemplateException(); workTimeExceptions.CMN_STR_Office_WorktimeTemplateExceptionID = item.TimeID; workTimeExceptions.CMN_CAL_Event_RefID = Guid.NewGuid(); workTimeExceptions.Office_RefID = Parameter.OfficeID; workTimeExceptions.Description = item.Description; workTimeExceptions.Tenant_RefID = securityTicket.TenantID; workTimeExceptions.Creation_Timestamp = DateTime.Now; workTimeExceptions.Save(Connection, Transaction); var Events = new ORM_CMN_CAL_Event(); Events.CMN_CAL_EventID = workTimeExceptions.CMN_CAL_Event_RefID; Events.IsRepetitive = item.IsRepetitive; Events.IsWholeDayEvent = item.IsWholeDay; Events.StartTime = item.StartDate; Events.EndTime = item.EndDate; Events.Tenant_RefID = securityTicket.TenantID; Events.Creation_Timestamp = DateTime.Now; if (item.IsRepetitive) { Events.Repetition_RefID = Guid.NewGuid(); var repetitions = new ORM_CMN_CAL_Repetition(); repetitions.CMN_CAL_RepetitionID = Events.Repetition_RefID; repetitions.IsMonthly = item.IsMontly; repetitions.IsWeekly = item.IsWeekly; repetitions.IsDaily = item.IsDaily; repetitions.IsYearly = item.IsYearly; repetitions.Tenant_RefID = securityTicket.TenantID; repetitions.Creation_Timestamp = DateTime.Now; repetitions.Save(Connection, Transaction); if (item.IsWeekly) { var repetitionWeekly = new ORM_CMN_CAL_RepetitionPatterns_Weekly(); repetitionWeekly.CMN_CAL_RepetitionPattern_WeeklyID = Guid.NewGuid(); repetitionWeekly.Repetition_RefID = repetitions.CMN_CAL_RepetitionID; repetitionWeekly.Tenant_RefID = securityTicket.TenantID; repetitionWeekly.Creation_Timestamp = DateTime.Now; repetitionWeekly.Save(Connection, Transaction); } if (item.IsMontly) { var repetitionMontly = new ORM_CMN_CAL_RepetitionPatterns_Monthly(); repetitionMontly.CMN_CAL_RepetitionPattern_MonthlyID = Guid.NewGuid(); repetitionMontly.Repetition_RefID = repetitions.CMN_CAL_RepetitionID; repetitionMontly.Tenant_RefID = securityTicket.TenantID; repetitionMontly.Creation_Timestamp = DateTime.Now; repetitionMontly.Save(Connection, Transaction); } if (item.IsDaily) { var repetitionDaily = new ORM_CMN_CAL_RepetitionPatterns_Daily(); repetitionDaily.CMN_CAL_RepetitionPattern_DailyID = Guid.NewGuid(); repetitionDaily.Repetition_RefID = repetitions.CMN_CAL_RepetitionID; repetitionDaily.Tenant_RefID = securityTicket.TenantID; repetitionDaily.Creation_Timestamp = DateTime.Now; repetitionDaily.Save(Connection, Transaction); } if (item.IsYearly) { var repetitionYearly = new ORM_CMN_CAL_RepetitionPatterns_Yearly(); repetitionYearly.CMN_CAL_RepetitionPattern_YearlyID = Guid.NewGuid(); repetitionYearly.Repetition_RefID = repetitions.CMN_CAL_RepetitionID; repetitionYearly.Tenant_RefID = securityTicket.TenantID; repetitionYearly.Creation_Timestamp = DateTime.Now; repetitionYearly.Save(Connection, Transaction); } } Events.Save(Connection, Transaction); } #endregion #region Edit else { workTimeExceptions.Description = item.Description; workTimeExceptions.Save(Connection, Transaction); var EventsQuery = new ORM_CMN_CAL_Event.Query(); EventsQuery.CMN_CAL_EventID = workTimeExceptions.CMN_CAL_Event_RefID; EventsQuery.IsDeleted = false; EventsQuery.Tenant_RefID = securityTicket.TenantID; var Events = ORM_CMN_CAL_Event.Query.Search(Connection, Transaction, EventsQuery).Single(); Events.IsRepetitive = item.IsRepetitive; Events.IsWholeDayEvent = item.IsWholeDay; Events.StartTime = item.StartDate; Events.EndTime = item.EndDate; #region delete old repetation if exists var repetitionsQuery = new ORM_CMN_CAL_Repetition.Query(); repetitionsQuery.IsDeleted = false; repetitionsQuery.Tenant_RefID = securityTicket.TenantID; repetitionsQuery.CMN_CAL_RepetitionID = Events.Repetition_RefID; var repetitions = ORM_CMN_CAL_Repetition.Query.Search(Connection, Transaction, repetitionsQuery).SingleOrDefault(); if (repetitions != null) { repetitions.IsDeleted = true; repetitions.Save(Connection, Transaction); if (repetitions.IsDaily) { var repetitionDailyQuery = new ORM_CMN_CAL_RepetitionPatterns_Daily.Query(); repetitionDailyQuery.IsDeleted = false; repetitionDailyQuery.Tenant_RefID = securityTicket.TenantID; repetitionDailyQuery.Repetition_RefID = repetitions.CMN_CAL_RepetitionID; var repetitionDaily = ORM_CMN_CAL_RepetitionPatterns_Daily.Query.Search(Connection, Transaction, repetitionDailyQuery).Single(); repetitionDaily.IsDeleted = true; repetitionDaily.Save(Connection, Transaction); } if (repetitions.IsWeekly) { var repetitionWeeklyQuery = new ORM_CMN_CAL_RepetitionPatterns_Weekly.Query(); repetitionWeeklyQuery.IsDeleted = false; repetitionWeeklyQuery.Tenant_RefID = securityTicket.TenantID; repetitionWeeklyQuery.Repetition_RefID = repetitions.CMN_CAL_RepetitionID; var repetitionWeekly = ORM_CMN_CAL_RepetitionPatterns_Weekly.Query.Search(Connection, Transaction, repetitionWeeklyQuery).Single(); repetitionWeekly.IsDeleted = true; repetitionWeekly.Save(Connection, Transaction); } if (repetitions.IsMonthly) { var repetitionMontlyQuery = new ORM_CMN_CAL_RepetitionPatterns_Monthly.Query(); repetitionMontlyQuery.IsDeleted = false; repetitionMontlyQuery.Tenant_RefID = securityTicket.TenantID; repetitionMontlyQuery.Repetition_RefID = repetitions.CMN_CAL_RepetitionID; var repetitionMontly = ORM_CMN_CAL_RepetitionPatterns_Monthly.Query.Search(Connection, Transaction, repetitionMontlyQuery).Single(); repetitionMontly.IsDeleted = true; repetitionMontly.Save(Connection, Transaction); } if (repetitions.IsYearly) { var repetitionYearlyQuery = new ORM_CMN_CAL_RepetitionPatterns_Yearly.Query(); repetitionYearlyQuery.IsDeleted = false; repetitionYearlyQuery.Tenant_RefID = securityTicket.TenantID; repetitionYearlyQuery.Repetition_RefID = repetitions.CMN_CAL_RepetitionID; var repetitionYearly = ORM_CMN_CAL_RepetitionPatterns_Yearly.Query.Search(Connection, Transaction, repetitionYearlyQuery).Single(); repetitionYearly.IsDeleted = true; repetitionYearly.Save(Connection, Transaction); } } #endregion if (item.IsRepetitive) { Events.Repetition_RefID = Guid.NewGuid(); repetitions = new ORM_CMN_CAL_Repetition(); repetitions.CMN_CAL_RepetitionID = Events.Repetition_RefID; repetitions.IsMonthly = item.IsMontly; repetitions.IsWeekly = item.IsWeekly; repetitions.IsDaily = item.IsDaily; repetitions.IsYearly = item.IsYearly; repetitions.Tenant_RefID = securityTicket.TenantID; repetitions.Creation_Timestamp = DateTime.Now; repetitions.Save(Connection, Transaction); if (item.IsWeekly) { var repetitionWeekly = new ORM_CMN_CAL_RepetitionPatterns_Weekly(); repetitionWeekly.CMN_CAL_RepetitionPattern_WeeklyID = Guid.NewGuid(); repetitionWeekly.Repetition_RefID = repetitions.CMN_CAL_RepetitionID; repetitionWeekly.Tenant_RefID = securityTicket.TenantID; repetitionWeekly.Creation_Timestamp = DateTime.Now; repetitionWeekly.Save(Connection, Transaction); } if (item.IsMontly) { var repetitionMontly = new ORM_CMN_CAL_RepetitionPatterns_Monthly(); repetitionMontly.CMN_CAL_RepetitionPattern_MonthlyID = Guid.NewGuid(); repetitionMontly.Repetition_RefID = repetitions.CMN_CAL_RepetitionID; repetitionMontly.Tenant_RefID = securityTicket.TenantID; repetitionMontly.Creation_Timestamp = DateTime.Now; repetitionMontly.Save(Connection, Transaction); } if (item.IsDaily) { var repetitionDaily = new ORM_CMN_CAL_RepetitionPatterns_Daily(); repetitionDaily.CMN_CAL_RepetitionPattern_DailyID = Guid.NewGuid(); repetitionDaily.Repetition_RefID = repetitions.CMN_CAL_RepetitionID; repetitionDaily.Tenant_RefID = securityTicket.TenantID; repetitionDaily.Creation_Timestamp = DateTime.Now; repetitionDaily.Save(Connection, Transaction); } if (item.IsYearly) { var repetitionYearly = new ORM_CMN_CAL_RepetitionPatterns_Yearly(); repetitionYearly.CMN_CAL_RepetitionPattern_YearlyID = Guid.NewGuid(); repetitionYearly.Repetition_RefID = repetitions.CMN_CAL_RepetitionID; repetitionYearly.Tenant_RefID = securityTicket.TenantID; repetitionYearly.Creation_Timestamp = DateTime.Now; repetitionYearly.Save(Connection, Transaction); } } Events.Save(Connection, Transaction); } #endregion } } #endregion #region Standard Hours else { var workTimeTemplateQuery = new ORM_CMN_STR_Office_Weekly_WorkTimeTemplate.Query(); workTimeTemplateQuery.IsDeleted = false; workTimeTemplateQuery.Office_RefID = Parameter.OfficeID; workTimeTemplateQuery.CMN_STR_Office_Weekly_WorkTimeTemplateID = item.TimeID; workTimeTemplateQuery.Tenant_RefID = securityTicket.TenantID; var workTimeTemplate = ORM_CMN_STR_Office_Weekly_WorkTimeTemplate.Query.Search(Connection, Transaction, workTimeTemplateQuery).SingleOrDefault(); #region Delete if (item.IsDeleted) { if (workTimeTemplate != null) { workTimeTemplate.IsDeleted = true; workTimeTemplate.Save(Connection, Transaction); } } #endregion else { #region Save if (workTimeTemplate == null) { workTimeTemplate = new ORM_CMN_STR_Office_Weekly_WorkTimeTemplate(); workTimeTemplate.CMN_STR_Office_Weekly_WorkTimeTemplateID = item.TimeID; workTimeTemplate.Office_RefID = Parameter.OfficeID; workTimeTemplate.CMN_CAL_WeeklyOfficeHours_Interval_RefID = Guid.NewGuid(); workTimeTemplate.Tenant_RefID = securityTicket.TenantID; workTimeTemplate.Creation_Timestamp = DateTime.Now; workTimeTemplate.Save(Connection, Transaction); ORM_CMN_CAL_WeeklyOfficeHours_Interval WeeklyOfficeHours_Interval = new ORM_CMN_CAL_WeeklyOfficeHours_Interval(); WeeklyOfficeHours_Interval.CMN_CAL_WeeklyOfficeHours_IntervalID = workTimeTemplate.CMN_CAL_WeeklyOfficeHours_Interval_RefID; WeeklyOfficeHours_Interval.WeeklyOfficeHours_Template_RefID = Guid.NewGuid(); WeeklyOfficeHours_Interval.Tenant_RefID = securityTicket.TenantID; WeeklyOfficeHours_Interval.Creation_Timestamp = DateTime.Now; WeeklyOfficeHours_Interval.IsMonday = item.IsMonday; WeeklyOfficeHours_Interval.IsTuesday = item.IsTuesday; WeeklyOfficeHours_Interval.IsWednesday = item.IsWednesday; WeeklyOfficeHours_Interval.IsThursday = item.IsThursday; WeeklyOfficeHours_Interval.IsFriday = item.IsFriday; WeeklyOfficeHours_Interval.IsSaturday = item.IsSaturday; WeeklyOfficeHours_Interval.IsSunday = item.IsSunday; WeeklyOfficeHours_Interval.IsWholeDay = item.IsWholeDay; WeeklyOfficeHours_Interval.TimeFrom_InMinutes = item.TimeFrom_InMinutes; WeeklyOfficeHours_Interval.TimeTo_InMinutes = item.TimeTo_InMinutes; WeeklyOfficeHours_Interval.Save(Connection, Transaction); ORM_CMN_CAL_WeeklyOfficeHours_Template WeeklyOfficeHours_Template = new ORM_CMN_CAL_WeeklyOfficeHours_Template(); WeeklyOfficeHours_Template.CMN_CAL_WeeklyOfficeHours_TemplateID = WeeklyOfficeHours_Interval.WeeklyOfficeHours_Template_RefID; WeeklyOfficeHours_Template.OfficeHoursTemplate_Name = item.OfficeHoursTemplate_Name; WeeklyOfficeHours_Template.Creation_Timestamp = DateTime.Now; WeeklyOfficeHours_Template.Tenant_RefID = securityTicket.TenantID; WeeklyOfficeHours_Template.Save(Connection, Transaction); } else #endregion #region Edit { var WeeklyOfficeHours_IntervalQuery = new ORM_CMN_CAL_WeeklyOfficeHours_Interval.Query(); WeeklyOfficeHours_IntervalQuery.IsDeleted = false; WeeklyOfficeHours_IntervalQuery.Tenant_RefID = securityTicket.TenantID; WeeklyOfficeHours_IntervalQuery.CMN_CAL_WeeklyOfficeHours_IntervalID = workTimeTemplate.CMN_CAL_WeeklyOfficeHours_Interval_RefID; var WeeklyOfficeHours_Interval = ORM_CMN_CAL_WeeklyOfficeHours_Interval.Query.Search(Connection, Transaction, WeeklyOfficeHours_IntervalQuery).Single(); WeeklyOfficeHours_Interval.IsWholeDay = item.IsWholeDay; WeeklyOfficeHours_Interval.TimeFrom_InMinutes = item.TimeFrom_InMinutes; WeeklyOfficeHours_Interval.TimeTo_InMinutes = item.TimeTo_InMinutes; WeeklyOfficeHours_Interval.Save(Connection, Transaction); var WeeklyOfficeHours_TemplateQuery = new ORM_CMN_CAL_WeeklyOfficeHours_Template.Query(); WeeklyOfficeHours_TemplateQuery.IsDeleted = false; WeeklyOfficeHours_TemplateQuery.Tenant_RefID = securityTicket.TenantID; WeeklyOfficeHours_TemplateQuery.CMN_CAL_WeeklyOfficeHours_TemplateID = WeeklyOfficeHours_Interval.WeeklyOfficeHours_Template_RefID; var WeeklyOfficeHours_Template = ORM_CMN_CAL_WeeklyOfficeHours_Template.Query.Search(Connection, Transaction, WeeklyOfficeHours_TemplateQuery).Single(); WeeklyOfficeHours_Template.OfficeHoursTemplate_Name = item.OfficeHoursTemplate_Name; WeeklyOfficeHours_Template.Save(Connection, Transaction); } #endregion } } #endregion } if (Parameter.UpdateSlots) { cls_CreateUpdate_Slots_for_Practice.Invoke(Connection, Transaction, new P_L5S_SUSfP_1708() { PracticeID = Parameter.OfficeID }, securityTicket); } return(returnValue); #endregion UserCode }