protected static FR_Base Execute(DbConnection Connection, DbTransaction Transaction, P_L5EM_EFU_1845 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_Base(); //Put your code here ORM_CMN_BPT_EMP_Employee employee = new ORM_CMN_BPT_EMP_Employee(); if (Parameter.CMN_BPT_EMP_EmployeeID != Guid.Empty) { var result = employee.Load(Connection, Transaction, Parameter.CMN_BPT_EMP_EmployeeID); if (result.Status != FR_Status.Success || employee.CMN_BPT_EMP_EmployeeID == Guid.Empty) { var error = new FR_Guid(); error.ErrorMessage = "No Such ID"; error.Status = FR_Status.Error_Internal; return(error); } } P_L5EM_GEFE_1150 par = new P_L5EM_GEFE_1150(); par.EmployeeID = Parameter.CMN_BPT_EMP_EmployeeID; L5CM_GCSFT_1157 company = cls_Get_Company_Structure_For_Tenant.Invoke(Connection, Transaction, securityTicket).Result; employee.Save(Connection, Transaction); return(returnValue); #endregion UserCode }
protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L5EM_SFE_1524 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_Guid(); ORM_CMN_Address address = new ORM_CMN_Address(); if (Parameter.CMN_AddressID != Guid.Empty) { var result = address.Load(Connection, Transaction, Parameter.CMN_AddressID); if (result.Status != FR_Status.Success || address.CMN_AddressID == Guid.Empty) { var error = new FR_Guid(); error.ErrorMessage = "No Such ID"; error.Status = FR_Status.Error_Internal; return(error); } } address.City_Name = Parameter.City_Name; address.Street_Name = Parameter.Street_Name; address.Street_Number = Parameter.Street_Number; address.Country_Name = Parameter.Country_Name; address.Province_Name = Parameter.Province_Name; address.Tenant_RefID = Parameter.TenantID; address.Save(Connection, Transaction); ORM_CMN_PER_PersonInfo person = new ORM_CMN_PER_PersonInfo(); if (Parameter.CMN_PER_PersonInfoID != Guid.Empty) { var result = person.Load(Connection, Transaction, Parameter.CMN_PER_PersonInfoID); if (result.Status != FR_Status.Success || person.CMN_PER_PersonInfoID == Guid.Empty) { var error = new FR_Guid(); error.ErrorMessage = "No Such ID"; error.Status = FR_Status.Error_Internal; return(error); } } //person.AccountImage_URL = Parameter.ProfileImage_Document_RefID; person.FirstName = Parameter.FirstName; person.LastName = Parameter.LastName; person.PrimaryEmail = Parameter.PrimaryEmail; person.Tenant_RefID = Parameter.TenantID; person.Title = Parameter.Title; person.Address_RefID = address.CMN_AddressID; person.BirthDate = Parameter.BirthDate; person.Save(Connection, Transaction); ORM_CMN_BPT_BusinessParticipant bParticipant = new ORM_CMN_BPT_BusinessParticipant(); if (Parameter.CMN_BPT_BusinessParticipantID != Guid.Empty) { var result = bParticipant.Load(Connection, Transaction, Parameter.CMN_BPT_BusinessParticipantID); if (result.Status != FR_Status.Success || bParticipant.CMN_BPT_BusinessParticipantID == Guid.Empty) { var error = new FR_Guid(); error.ErrorMessage = "No Such ID"; error.Status = FR_Status.Error_Internal; return(error); } } bParticipant.DisplayName = Parameter.DisplayName; bParticipant.IfNaturalPerson_CMN_PER_PersonInfo_RefID = person.CMN_PER_PersonInfoID; bParticipant.IsNaturalPerson = true; bParticipant.Tenant_RefID = Parameter.TenantID; bParticipant.Save(Connection, Transaction); ORM_CMN_BPT_EMP_Employee employee = new ORM_CMN_BPT_EMP_Employee(); CSV2Core.DlTrace.Trace("Parameter.CMN_BPT_EMP_EmployeeID " + Parameter.CMN_BPT_EMP_EmployeeID); if (Parameter.CMN_BPT_EMP_EmployeeID != Guid.Empty) { var result = employee.Load(Connection, Transaction, Parameter.CMN_BPT_EMP_EmployeeID); if (result.Status != FR_Status.Success || employee.CMN_BPT_EMP_EmployeeID == Guid.Empty) { var error = new FR_Guid(); error.ErrorMessage = "No Such ID"; error.Status = FR_Status.Error_Internal; return(error); } } employee.BusinessParticipant_RefID = bParticipant.CMN_BPT_BusinessParticipantID; employee.Staff_Number = Parameter.Staff_Number; employee.StandardFunction = Parameter.StandardFunction; employee.Tenant_RefID = Parameter.TenantID; employee.Save(Connection, Transaction); CSV2Core.DlTrace.Trace("after save Parameter.CMN_BPT_EMP_EmployeeID " + Parameter.CMN_BPT_EMP_EmployeeID); CSV2Core.DlTrace.Trace("employee.Status_IsAlreadySaved " + employee.Status_IsAlreadySaved); ORM_CMN_BPT_EMP_EmploymentRelationship employeeRelationship = new ORM_CMN_BPT_EMP_EmploymentRelationship(); if (Parameter.CMN_BPT_EMP_Employee_WorkingContractID != Guid.Empty) { var result = employeeRelationship.Load(Connection, Transaction, Parameter.CMN_BPT_EMP_Employee_WorkingContractID); if (result.Status != FR_Status.Success || employeeRelationship.CMN_BPT_EMP_EmploymentRelationshipID == Guid.Empty) { var error = new FR_Guid(); error.ErrorMessage = "No Such ID"; error.Status = FR_Status.Error_Internal; return(error); } } employeeRelationship.Work_StartDate = Parameter.Work_StartDate; employeeRelationship.Work_EndDate = Parameter.Work_EndDate; employeeRelationship.Tenant_RefID = Parameter.TenantID; employeeRelationship.Employee_RefID = employee.CMN_BPT_EMP_EmployeeID; employeeRelationship.Save(Connection, Transaction); if (Parameter.USR_AccountID != null && Parameter.USR_AccountID != Guid.Empty) { ORM_USR_Account account = new ORM_USR_Account(); account.Load(Connection, Transaction, Parameter.USR_AccountID); account.USR_AccountID = Parameter.USR_AccountID; account.Username = Parameter.username; account.DefaultLanguage_RefID = Parameter.LanguageID; account.BusinessParticipant_RefID = bParticipant.CMN_BPT_BusinessParticipantID; account.Tenant_RefID = Parameter.TenantID; account.Save(Connection, Transaction); var personToAccountQuery = new ORM_CMN_PER_PersonInfo_2_Account.Query(); personToAccountQuery.Tenant_RefID = securityTicket.TenantID; personToAccountQuery.USR_Account_RefID = account.USR_AccountID; personToAccountQuery.IsDeleted = false; var personToAccounts = ORM_CMN_PER_PersonInfo_2_Account.Query.Search(Connection, Transaction, personToAccountQuery); if (personToAccounts.Count != 0) { ORM_CMN_PER_PersonInfo_2_Account personToAccount = personToAccounts[0]; personToAccount.CMN_PER_PersonInfo_RefID = person.CMN_PER_PersonInfoID; personToAccount.USR_Account_RefID = account.USR_AccountID; personToAccount.Tenant_RefID = securityTicket.TenantID; personToAccount.Save(Connection, Transaction); } else { ORM_CMN_PER_PersonInfo_2_Account personToAccount = new ORM_CMN_PER_PersonInfo_2_Account(); personToAccount.CMN_PER_PersonInfo_RefID = person.CMN_PER_PersonInfoID; personToAccount.USR_Account_RefID = account.USR_AccountID; personToAccount.Tenant_RefID = securityTicket.TenantID; personToAccount.Save(Connection, Transaction); } if (Parameter.Rights != null) { foreach (var rightParam in Parameter.Rights) { var right = new ORM_USR_Account_FunctionLevelRight(); if (rightParam.RightID != Guid.Empty) { var result = right.Load(Connection, Transaction, rightParam.RightID); if (result.Status != FR_Status.Success || right.USR_Account_FunctionLevelRightID == Guid.Empty) { right.USR_Account_FunctionLevelRightID = rightParam.RightID; right.Tenant_RefID = Parameter.TenantID; right.RightName = rightParam.RightName; right.FunctionLevelRights_Group_RefID = Guid.Empty; right.Save(Connection, Transaction); } } var right2account = new ORM_USR_Account_2_FunctionLevelRight(); right2account.Account_RefID = account.USR_AccountID; right2account.FunctionLevelRight_RefID = rightParam.RightID; right2account.Tenant_RefID = Parameter.TenantID; right2account.Save(Connection, Transaction); } } } returnValue.Result = employee.CMN_BPT_EMP_EmployeeID; return(returnValue); #endregion UserCode }
protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L5US_SSU_1847 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { //Leave UserCode region to enable user code saving #region UserCode var returnValue = new FR_Guid(); var userAccount = new ORM_USR_Account(); var result = userAccount.Load(Connection, Transaction, Parameter.USR_AccountID); if (result.Status == FR_Status.Success) { //Get business participant via userAccount var businessParticipant = new ORM_CMN_BPT_BusinessParticipant(); businessParticipant.Load(Connection, Transaction, userAccount.BusinessParticipant_RefID); //Load person var personInfo = new ORM_CMN_PER_PersonInfo(); personInfo.Load(Connection, Transaction, businessParticipant.IfNaturalPerson_CMN_PER_PersonInfo_RefID); //Load communication contacts for person P_L2CN_GCCfPI_1222 contactsParam = new P_L2CN_GCCfPI_1222(); contactsParam.PersonInfoID = personInfo.CMN_PER_PersonInfoID; var contactsForPersonInfo = cls_Get_ComunicationContacts_for_PersonInfoID.Invoke(Connection, Transaction, contactsParam, securityTicket).Result.ToList(); if (!Parameter.IsInitialSave) { if (Parameter.IsDeleted) { #region Delete var queryApplicationSubscription = new ORM_CMN_Account_ApplicationSubscription.Query(); queryApplicationSubscription.Application_RefID = Parameter.ApplicationID; queryApplicationSubscription.Account_RefID = userAccount.USR_AccountID; queryApplicationSubscription.Tenant_RefID = securityTicket.TenantID; var foundApplicationSubscription = ORM_CMN_Account_ApplicationSubscription.Query.SoftDelete(Connection, Transaction, queryApplicationSubscription); return(new FR_Guid(FR_Base.Status_OK, userAccount.USR_AccountID)); #endregion } #region Edit personInfo.FirstName = Parameter.FirstName_ContactPerson; personInfo.LastName = Parameter.LastName_ContactPerson; personInfo.Save(Connection, Transaction); var employeeTemp = ORM_CMN_BPT_EMP_Employee.Query.Search(Connection, Transaction, new ORM_CMN_BPT_EMP_Employee.Query() { BusinessParticipant_RefID = businessParticipant.CMN_BPT_BusinessParticipantID, Tenant_RefID = securityTicket.TenantID, IsDeleted = false }).SingleOrDefault(); if (employeeTemp == null) { var newEmployee = new ORM_CMN_BPT_EMP_Employee(); newEmployee.CMN_BPT_EMP_EmployeeID = Guid.NewGuid(); newEmployee.BusinessParticipant_RefID = businessParticipant.CMN_BPT_BusinessParticipantID; newEmployee.StandardFunction = "APOAdminEmployee"; newEmployee.Tenant_RefID = securityTicket.TenantID; newEmployee.Save(Connection, Transaction); } var address = new ORM_CMN_Address(); address.Load(Connection, Transaction, personInfo.Address_RefID); address.Street_Name = Parameter.Street_Name; address.Street_Number = Parameter.Street_Number; address.City_Name = Parameter.Town; address.City_PostalCode = Parameter.ZIP; address.Save(Connection, Transaction); try { //telephone var telephone = contactsForPersonInfo.Where(i => i.Type == EnumUtils.GetEnumDescription(EComunactionContactType.Phone)) .First().Contacts; if (telephone.Count() == 1) { var contactID = telephone[0].CMN_PER_CommunicationContactID; var contactTelephone = new ORM_CMN_PER_CommunicationContact(); contactTelephone.Load(Connection, Transaction, contactID); contactTelephone.Content = Parameter.Contact_Telephone; contactTelephone.Save(Connection, Transaction); } } catch { //Log this } #region CommentedUsefull-PreviousWayOfContactEmailHandling //try //{ // //email // var email = contactsForPersonInfo.Where(i => i.Type == EnumUtils.GetEnumDescription(EComunactionContactType.Email)) // .First().Contacts; // if (email.Count() == 1) // { // var contactID = email[0].CMN_PER_CommunicationContactID; // var contactEmail = new ORM_CMN_PER_CommunicationContact(); // contactEmail.Load(Connection, Transaction, contactID); // contactEmail.Content = Parameter.Contact_Email; // contactEmail.Save(Connection, Transaction); // } //} //catch //{ // //Log this //} #endregion #endregion } #region SaveGroup var userAccountToGroup = ORM_USR_Account_2_Group.Query.Search(Connection, Transaction, new ORM_USR_Account_2_Group.Query() { USR_Account_RefID = userAccount.USR_AccountID, Tenant_RefID = securityTicket.TenantID, IsDeleted = false }).SingleOrDefault(); if (userAccountToGroup == null) { var newGroup = new ORM_USR_Account_2_Group(); newGroup.AssignmentID = Guid.NewGuid(); newGroup.USR_Account_RefID = userAccount.USR_AccountID; newGroup.USR_Group_RefID = Parameter.USR_GroupID; newGroup.Creation_Timestamp = DateTime.Now; newGroup.Tenant_RefID = securityTicket.TenantID; newGroup.Save(Connection, Transaction); } else { userAccountToGroup.USR_Group_RefID = Parameter.USR_GroupID; userAccountToGroup.Save(Connection, Transaction); } #endregion #region SaveEmployee var employee = ORM_CMN_BPT_EMP_Employee.Query.Search(Connection, Transaction, new ORM_CMN_BPT_EMP_Employee.Query() { BusinessParticipant_RefID = businessParticipant.CMN_BPT_BusinessParticipantID, Tenant_RefID = securityTicket.TenantID, IsDeleted = false }).SingleOrDefault(); if (employee == null) { var newEmployee = new ORM_CMN_BPT_EMP_Employee(); newEmployee.CMN_BPT_EMP_EmployeeID = Guid.NewGuid(); newEmployee.BusinessParticipant_RefID = businessParticipant.CMN_BPT_BusinessParticipantID; newEmployee.StandardFunction = "APOAdminEmployee"; newEmployee.Tenant_RefID = securityTicket.TenantID; newEmployee.Save(Connection, Transaction); } #endregion #region CreateOrUpdateContactEmail var emailTypeProperty = EnumUtils.GetEnumDescription(EComunactionContactType.Email); var contactEmailTypeQuery = new ORM_CMN_PER_CommunicationContact_Type.Query(); contactEmailTypeQuery.Type = emailTypeProperty; contactEmailTypeQuery.Tenant_RefID = securityTicket.TenantID; var contactEmailType = ORM_CMN_PER_CommunicationContact_Type.Query.Search(Connection, Transaction, contactEmailTypeQuery).FirstOrDefault(); //Search for default contact email and create it if don't exist var defaultContactEmailQuery = new ORM_CMN_PER_CommunicationContact.Query(); defaultContactEmailQuery.PersonInfo_RefID = personInfo.CMN_PER_PersonInfoID; defaultContactEmailQuery.Contact_Type = contactEmailType.CMN_PER_CommunicationContact_TypeID; defaultContactEmailQuery.Tenant_RefID = securityTicket.TenantID; var defaultContactEmail = ORM_CMN_PER_CommunicationContact.Query.Search(Connection, Transaction, defaultContactEmailQuery).FirstOrDefault(); if (defaultContactEmail == null) { defaultContactEmail = new ORM_CMN_PER_CommunicationContact(); defaultContactEmail.PersonInfo_RefID = personInfo.CMN_PER_PersonInfoID; defaultContactEmail.Contact_Type = contactEmailType.CMN_PER_CommunicationContact_TypeID; defaultContactEmail.IsDefaultForContactType = true; defaultContactEmail.Tenant_RefID = securityTicket.TenantID; } defaultContactEmail.Content = Parameter.Contact_Email; defaultContactEmail.IsDefaultForContactType = true; defaultContactEmail.Save(Connection, Transaction); #endregion } else { FR_Guid error = new FR_Guid(); error.ErrorMessage = "No Such ID."; error.Status = FR_Status.Error_Internal; return(error); } return(new FR_Guid(FR_Base.Status_OK, userAccount.USR_AccountID)); #endregion UserCode }
protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L5EM_SE_1657 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_Guid(); //Put your code here ORM_CMN_Address address = new ORM_CMN_Address(); if (Parameter.CMN_AddressID != Guid.Empty) { var result = address.Load(Connection, Transaction, Parameter.CMN_AddressID); if (result.Status != FR_Status.Success || address.CMN_AddressID == Guid.Empty) { var error = new FR_Guid(); error.ErrorMessage = "No Such ID"; error.Status = FR_Status.Error_Internal; return(error); } } address.City_Name = Parameter.City_Name; address.Street_Name = Parameter.Street_Name; address.Street_Number = Parameter.Street_Number; address.Country_Name = Parameter.Country_Name; address.Province_Name = Parameter.Province_Name; address.Tenant_RefID = securityTicket.TenantID; address.City_PostalCode = Parameter.City_PostalCode; address.Save(Connection, Transaction); CSV2Core.DlTrace.Trace("success address"); ORM_CMN_PER_PersonInfo person = new ORM_CMN_PER_PersonInfo(); if (Parameter.CMN_PER_PersonInfoID != Guid.Empty) { var result = person.Load(Connection, Transaction, Parameter.CMN_PER_PersonInfoID); if (result.Status != FR_Status.Success || person.CMN_PER_PersonInfoID == Guid.Empty) { var error = new FR_Guid(); error.ErrorMessage = "No Such ID"; error.Status = FR_Status.Error_Internal; return(error); } } //person.AccountImage_URL = Parameter.ProfileImage_Document_RefID; person.FirstName = Parameter.FirstName; person.LastName = Parameter.LastName; person.PrimaryEmail = Parameter.PrimaryEmail; person.Tenant_RefID = securityTicket.TenantID; person.Title = Parameter.Title; person.Address_RefID = address.CMN_AddressID; person.ProfileImage_Document_RefID = Parameter.ImageID; person.BirthDate = Parameter.BirthDate; person.NumberOfChildren = Parameter.TaxInfoParameter != null ? Parameter.TaxInfoParameter.NumberOfChildren : 0; person.Save(Connection, Transaction); CSV2Core.DlTrace.Trace("success persopm"); var contactQuery = new ORM_CMN_PER_CommunicationContact.Query(); contactQuery.Tenant_RefID = securityTicket.TenantID; contactQuery.PersonInfo_RefID = person.CMN_PER_PersonInfoID; contactQuery.IsDeleted = false; var deleteContacts = ORM_CMN_PER_CommunicationContact.Query.SoftDelete(Connection, Transaction, contactQuery); foreach (var parContact in Parameter.Contacts) { ORM_CMN_PER_CommunicationContact contact = new ORM_CMN_PER_CommunicationContact(); if (parContact.CMN_PER_CommunicationContactID != Guid.Empty) { var result = contact.Load(Connection, Transaction, parContact.CMN_PER_CommunicationContactID); if (result.Status != FR_Status.Success || contact.CMN_PER_CommunicationContactID == Guid.Empty) { var error = new FR_Guid(); error.ErrorMessage = "No Such ID"; error.Status = FR_Status.Error_Internal; return(error); } } contact.Content = parContact.Content; contact.Contact_Type = parContact.CMN_PER_CommunicationContact_TypeID; contact.Tenant_RefID = securityTicket.TenantID; contact.PersonInfo_RefID = person.CMN_PER_PersonInfoID; contact.Save(Connection, Transaction); CSV2Core.DlTrace.Trace("success contact"); } ORM_CMN_BPT_BusinessParticipant bParticipant = new ORM_CMN_BPT_BusinessParticipant(); if (Parameter.CMN_BPT_BusinessParticipantID != Guid.Empty) { var result = bParticipant.Load(Connection, Transaction, Parameter.CMN_BPT_BusinessParticipantID); if (result.Status != FR_Status.Success || bParticipant.CMN_BPT_BusinessParticipantID == Guid.Empty) { var error = new FR_Guid(); error.ErrorMessage = "No Such ID"; error.Status = FR_Status.Error_Internal; return(error); } } bParticipant.DisplayName = Parameter.DisplayName; bParticipant.IfNaturalPerson_CMN_PER_PersonInfo_RefID = person.CMN_PER_PersonInfoID; bParticipant.IsNaturalPerson = true; bParticipant.Tenant_RefID = securityTicket.TenantID; bParticipant.Save(Connection, Transaction); ORM_CMN_BPT_EMP_Employee employee = new ORM_CMN_BPT_EMP_Employee(); CSV2Core.DlTrace.Trace("success bpart"); if (Parameter.CMN_BPT_EMP_EmployeeID != Guid.Empty) { var result = employee.Load(Connection, Transaction, Parameter.CMN_BPT_EMP_EmployeeID); if (result.Status != FR_Status.Success || employee.CMN_BPT_EMP_EmployeeID == Guid.Empty) { var error = new FR_Guid(); error.ErrorMessage = "No Such ID"; error.Status = FR_Status.Error_Internal; return(error); } } employee.BusinessParticipant_RefID = bParticipant.CMN_BPT_BusinessParticipantID; employee.Staff_Number = Parameter.Staff_Number; employee.StandardFunction = Parameter.StandardFunction; employee.Tenant_RefID = securityTicket.TenantID; employee.Save(Connection, Transaction); CSV2Core.DlTrace.Trace("success employee"); ORM_CMN_BPT_EMP_EmploymentRelationship employmentRelationship = new ORM_CMN_BPT_EMP_EmploymentRelationship(); if (Parameter.CMN_BPT_EMP_Employee_EmploymentRelationshipID != Guid.Empty) { var result = employmentRelationship.Load(Connection, Transaction, Parameter.CMN_BPT_EMP_Employee_EmploymentRelationshipID); if (result.Status != FR_Status.Success || employmentRelationship.CMN_BPT_EMP_EmploymentRelationshipID == Guid.Empty) { var error = new FR_Guid(); error.ErrorMessage = "No Such ID"; error.Status = FR_Status.Error_Internal; return(error); } } employmentRelationship.Work_StartDate = Parameter.Work_StartDate; bool resignationDateChanged = false; if (employmentRelationship.Work_EndDate != Parameter.Work_EndDate) { resignationDateChanged = true; } employmentRelationship.Work_EndDate = Parameter.Work_EndDate; employmentRelationship.Tenant_RefID = securityTicket.TenantID; employmentRelationship.Employee_RefID = employee.CMN_BPT_EMP_EmployeeID; employmentRelationship.Save(Connection, Transaction); CSV2Core.DlTrace.Trace("success employmentRelationship"); if (Parameter.Work_EndDate.Ticks != 0) { ORM_CMN_BPT_EMP_EmploymentRelationship_2_WorkingContract.Query empRelationShipToWorkingContractQuery = new ORM_CMN_BPT_EMP_EmploymentRelationship_2_WorkingContract.Query(); empRelationShipToWorkingContractQuery.EmploymentRelationship_RefID = employmentRelationship.CMN_BPT_EMP_EmploymentRelationshipID; empRelationShipToWorkingContractQuery.Tenant_RefID = securityTicket.TenantID; empRelationShipToWorkingContractQuery.IsDeleted = false; List <ORM_CMN_BPT_EMP_EmploymentRelationship_2_WorkingContract> workingContractAssignments = ORM_CMN_BPT_EMP_EmploymentRelationship_2_WorkingContract.Query.Search(Connection, Transaction, empRelationShipToWorkingContractQuery); foreach (var workingContractAssignment in workingContractAssignments) { ORM_CMN_BPT_EMP_WorkingContract workingContract = new ORM_CMN_BPT_EMP_WorkingContract(); if (workingContractAssignment.WorkingContract_RefID != Guid.Empty) { var result = workingContract.Load(Connection, Transaction, workingContractAssignment.WorkingContract_RefID); 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); } } if (workingContract.Contract_EndDate.Ticks == 0 || workingContract.Contract_EndDate.Ticks > Parameter.Work_EndDate.Ticks) { workingContract.Contract_EndDate = Parameter.Work_EndDate; workingContract.IsContractEndDateDefined = true; workingContract.Save(Connection, Transaction); } } } var activeTimeFrame = cls_Get_Active_CalculationTimeFrame.Invoke(Connection, Transaction, securityTicket).Result; var timeframes = cls_Get_CalculationTimeFramesForTenant.Invoke(Connection, Transaction, securityTicket).Result.ToList(); var resultFrames = timeframes.Where(i => i.CalculationTimeframe_StartDate.Year == employmentRelationship.Work_StartDate.Year).ToList(); if (resultFrames.Count == 0) { var newFrame = new ORM_CMN_CAL_CalculationTimeframe(); int currentYear = Parameter.Work_StartDate.Year; while (currentYear < activeTimeFrame.CalculationTimeframe_StartDate.Year) { if (!timeframes.Any(i => i.CalculationTimeframe_StartDate.Year == currentYear)) { newFrame.CalculationTimeframe_StartDate = new DateTime(currentYear, 1, 1); newFrame.CalculationTimeframe_EstimatedEndDate = new DateTime(currentYear, 12, 31); newFrame.Tenant_RefID = securityTicket.TenantID; newFrame.Save(Connection, Transaction); newFrame = new ORM_CMN_CAL_CalculationTimeframe(); } currentYear++; ORM_CMN_BPT_EMP_EmploymentRelationship_Timeframe relationshipFrame = new ORM_CMN_BPT_EMP_EmploymentRelationship_Timeframe(); relationshipFrame.CalculationTimeframe_RefID = newFrame.CMN_CAL_CalculationTimeframeID; relationshipFrame.EmploymentRelationship_RefID = employmentRelationship.CMN_BPT_EMP_EmploymentRelationshipID; relationshipFrame.Tenant_RefID = securityTicket.TenantID; relationshipFrame.Save(Connection, Transaction); } } else { timeframes = timeframes.Where(i => i.CalculationTimeframe_StartDate.Year < activeTimeFrame.CalculationTimeframe_StartDate.Year && i.CalculationTimeframe_StartDate.Year >= employmentRelationship.Work_StartDate.Year).ToList(); foreach (var timeframe in timeframes) { ORM_CMN_BPT_EMP_EmploymentRelationship_Timeframe.Query relationshipFrameQuery = new ORM_CMN_BPT_EMP_EmploymentRelationship_Timeframe.Query(); relationshipFrameQuery.CalculationTimeframe_RefID = timeframe.CMN_CAL_CalculationTimeframeID; relationshipFrameQuery.EmploymentRelationship_RefID = employmentRelationship.CMN_BPT_EMP_EmploymentRelationshipID; relationshipFrameQuery.Tenant_RefID = securityTicket.TenantID; List <ORM_CMN_BPT_EMP_EmploymentRelationship_Timeframe> oldContractFrames = ORM_CMN_BPT_EMP_EmploymentRelationship_Timeframe.Query.Search(Connection, Transaction, relationshipFrameQuery); if (oldContractFrames.Count == 0) { ORM_CMN_BPT_EMP_EmploymentRelationship_Timeframe relationshipFrame = new ORM_CMN_BPT_EMP_EmploymentRelationship_Timeframe(); relationshipFrame.CalculationTimeframe_RefID = timeframe.CMN_CAL_CalculationTimeframeID; relationshipFrame.EmploymentRelationship_RefID = employmentRelationship.CMN_BPT_EMP_EmploymentRelationshipID; relationshipFrame.Tenant_RefID = securityTicket.TenantID; relationshipFrame.Save(Connection, Transaction); } } } P_L5EM_GAERCTFFE_1405 timeFrameParam = new P_L5EM_GAERCTFFE_1405(); timeFrameParam.EmployeeID = employee.CMN_BPT_EMP_EmployeeID; L5EM_GAERCTFFE_1405 employeeTimeFrame = cls_Get_Active_EmployeeRelationshipTimeFrame_For_EmployeeID.Invoke(Connection, Transaction, timeFrameParam, securityTicket).Result; if (employeeTimeFrame == null) { ORM_CMN_BPT_EMP_EmploymentRelationship_Timeframe timeFrame = new ORM_CMN_BPT_EMP_EmploymentRelationship_Timeframe(); timeFrame.CalculationTimeframe_RefID = activeTimeFrame.CMN_CAL_CalculationTimeframeID; timeFrame.EmploymentRelationship_RefID = employmentRelationship.CMN_BPT_EMP_EmploymentRelationshipID; timeFrame.Tenant_RefID = securityTicket.TenantID; timeFrame.Save(Connection, Transaction); CSV2Core.DlTrace.Trace("success timeFrame"); } //save employee professions P_L5EM_SEP_1447 saveProfessionsPar = new P_L5EM_SEP_1447(); saveProfessionsPar.Employee_RefID = employee.CMN_BPT_EMP_EmployeeID; saveProfessionsPar.FunctionHistories = Parameter.FunctionHistories; cls_Save_EmployeeFunctionHistory.Invoke(Connection, Transaction, saveProfessionsPar, securityTicket); CSV2Core.DlTrace.Trace("success employee function history"); //save workplace histories P_L5EM_SWPH_1625 saveWorkplaceHistoryPar = new P_L5EM_SWPH_1625(); saveWorkplaceHistoryPar.Employee_RefID = employee.CMN_BPT_EMP_EmployeeID; saveWorkplaceHistoryPar.WorkplaceHistories = Parameter.WorkplaceHistories; cls_Save_WorkplaceHistories.Invoke(Connection, Transaction, saveWorkplaceHistoryPar, securityTicket); CSV2Core.DlTrace.Trace("success workplaceHistories"); P_L5EM_SUED_1648 saveDocuments = new P_L5EM_SUED_1648(); saveDocuments.Employee_RefID = employee.CMN_BPT_EMP_EmployeeID; saveDocuments.Documents = Parameter.Documents; cls_Save_Uploaded_Employee_Document.Invoke(Connection, Transaction, saveDocuments, securityTicket); CSV2Core.DlTrace.Trace("success documents"); P_L5EM_SEQS_0959 saveSkillsPar = new P_L5EM_SEQS_0959(); saveSkillsPar.Employee_RefID = employee.CMN_BPT_EMP_EmployeeID; saveSkillsPar.Skills = Parameter.Skills; cls_Save_Employee_QualificationSkills.Invoke(Connection, Transaction, saveSkillsPar, securityTicket); CSV2Core.DlTrace.Trace("success skills"); CSV2Core.DlTrace.Trace("AccountID :" + Parameter.USR_AccountID); if (Parameter.USR_AccountID != null && Parameter.USR_AccountID != Guid.Empty) { CSV2Core.DlTrace.Trace("success param"); ORM_USR_Account account = new ORM_USR_Account(); if (Parameter.USR_AccountID != Guid.Empty) { var result = account.Load(Connection, Transaction, Parameter.USR_AccountID); if (account.USR_AccountID == Guid.Empty) { account.USR_AccountID = Guid.NewGuid(); account.AccountType = 2; } account.Username = Parameter.username; account.DefaultLanguage_RefID = Parameter.LanguageID; account.BusinessParticipant_RefID = bParticipant.CMN_BPT_BusinessParticipantID; account.Tenant_RefID = securityTicket.TenantID; account.Save(Connection, Transaction); var personToAccountQuery = new ORM_CMN_PER_PersonInfo_2_Account.Query(); personToAccountQuery.Tenant_RefID = securityTicket.TenantID; personToAccountQuery.USR_Account_RefID = account.USR_AccountID; personToAccountQuery.IsDeleted = false; var personToAccounts = ORM_CMN_PER_PersonInfo_2_Account.Query.Search(Connection, Transaction, personToAccountQuery); if (personToAccounts.Count != 0) { ORM_CMN_PER_PersonInfo_2_Account personToAccount = personToAccounts[0]; personToAccount.CMN_PER_PersonInfo_RefID = person.CMN_PER_PersonInfoID; personToAccount.USR_Account_RefID = account.USR_AccountID; personToAccount.Tenant_RefID = securityTicket.TenantID; personToAccount.Save(Connection, Transaction); } else { ORM_CMN_PER_PersonInfo_2_Account personToAccount = new ORM_CMN_PER_PersonInfo_2_Account(); personToAccount.CMN_PER_PersonInfo_RefID = person.CMN_PER_PersonInfoID; personToAccount.USR_Account_RefID = account.USR_AccountID; personToAccount.Tenant_RefID = securityTicket.TenantID; personToAccount.Save(Connection, Transaction); } } if (Parameter.Rights != null) { foreach (var rightsParam in Parameter.Rights) { if (rightsParam.RightAssinmentID == Guid.Empty && rightsParam.RightID != Guid.Empty) { var right2account = new ORM_USR_Account_2_FunctionLevelRight(); right2account.Account_RefID = Parameter.USR_AccountID; right2account.FunctionLevelRight_RefID = rightsParam.RightID; right2account.Tenant_RefID = securityTicket.TenantID; right2account.Save(Connection, Transaction); CSV2Core.DlTrace.Trace("success save right: " + right2account.FunctionLevelRight_RefID); } if (rightsParam.RightAssinmentID != Guid.Empty && rightsParam.RightID == Guid.Empty) { var right2account = new ORM_USR_Account_2_FunctionLevelRight(); if (rightsParam.RightAssinmentID != Guid.Empty) { var result = right2account.Load(Connection, Transaction, rightsParam.RightAssinmentID); if (result.Status != FR_Status.Success || right2account.AssignmentID == Guid.Empty) { var error = new FR_Guid(); error.ErrorMessage = "No Such ID"; error.Status = FR_Status.Error_Internal; return(error); } } right2account.IsDeleted = true; right2account.Save(Connection, Transaction); CSV2Core.DlTrace.Trace("success save right2Acc: " + right2account.FunctionLevelRight_RefID); } } } } CSV2Core.DlTrace.Trace("emp id wtf " + Parameter.CMN_BPT_EMP_EmployeeID); if (Parameter.CMN_BPT_EMP_EmployeeID == Guid.Empty || resignationDateChanged) { var enterpriseService = InfrastructureFactory.CreateEnterpriseService(); KeyPerformanceIndicator action = new KeyPerformanceIndicator(); action.PerformedByAccountID = securityTicket.AccountID; action.PerformedByApplicationID = Parameter.ApplicationID; action.PerformedOn = DateTime.Now; action.PerformedByTenantID = securityTicket.TenantID; action.KeyPerformanceIndicatorID = Guid.Parse("4dda967a-5399-4929-afae-7af64699895b"); action.Value = cls_Get_Employees_For_Tenant.Invoke(Connection, Transaction, securityTicket).Result.Where(i => i.Work_EndDate.Ticks == 0 || i.Work_EndDate.Ticks > DateTime.Now.Ticks).ToArray().Length; var result = enterpriseService.SendMessage(action.ToPayload(), KeyPerformanceIndicator.MESSAGE_TYPE, Parameter.ApplicationID, EMessageRecipient.CUSTOMER_MANAGEMENT_PLATFORM); // ServerLog.Instance.Info("Enterprise message sending " + (result.Code == 200 ? "successful" : "failed")); CSV2Core.DlTrace.Trace("success send kpi"); } Parameter.TaxInfoParameter.EmployeeID = employee.CMN_BPT_EMP_EmployeeID; Parameter.TaxInfoParameter.CMN_BPT_BusinessParticipantID = bParticipant.CMN_BPT_BusinessParticipantID; cls_Save_Employee_TaxInformation.Invoke(Connection, Transaction, Parameter.TaxInfoParameter, securityTicket); cls_Save_Employee_BankAccount.Invoke(Connection, Transaction, Parameter.BankAccountParameter, securityTicket); Parameter.SocialSecurity.CMN_PER_PersonInfoID = person.CMN_PER_PersonInfoID; Parameter.SocialSecurity.CMN_BPT_EMP_EmployeeID = employee.CMN_BPT_EMP_EmployeeID; Parameter.SocialSecurity.CMN_BPT_BusinessParticipantID = bParticipant.CMN_BPT_BusinessParticipantID; cls_Save_Employee_SocialSecurity.Invoke(Connection, Transaction, Parameter.SocialSecurity, securityTicket); returnValue.Result = employee.CMN_BPT_EMP_EmployeeID; return(returnValue); #endregion UserCode }
protected static FR_L5US_GAOfA_1742 Execute(DbConnection Connection, DbTransaction Transaction, P_L5US_GAOfA_1742 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_L5US_GAOfA_1742(); //Put your code here var allOfficesForTenant = cls_Get_AllOffices_for_TenantID.Invoke(Connection, Transaction, securityTicket).Result; ORM_USR_Account user = new ORM_USR_Account(); user.Load(Connection, Transaction, Parameter.UserAccountID); ORM_CMN_BPT_EMP_Employee.Query employeeQuery = new ORM_CMN_BPT_EMP_Employee.Query(); employeeQuery.BusinessParticipant_RefID = user.BusinessParticipant_RefID; employeeQuery.Tenant_RefID = securityTicket.TenantID; var foundEmployee = ORM_CMN_BPT_EMP_Employee.Query.Search(Connection, Transaction, employeeQuery).FirstOrDefault(); if (foundEmployee == null) { foundEmployee = new ORM_CMN_BPT_EMP_Employee(); foundEmployee.BusinessParticipant_RefID = user.BusinessParticipant_RefID; foundEmployee.Tenant_RefID = securityTicket.TenantID; foundEmployee.Save(Connection, Transaction); } List <L5US_GAOfA_1742a> listOfOfficesWithAssignments = new List <L5US_GAOfA_1742a>(); foreach (var office in allOfficesForTenant) { var assignmentQuery = new ORM_CMN_BPT_EMP_Employee_2_Office.Query(); assignmentQuery.CMN_BPT_EMP_Employee_RefID = foundEmployee.CMN_BPT_EMP_EmployeeID; assignmentQuery.CMN_STR_Office_RefID = office.CMN_STR_OfficeID; assignmentQuery.Tenant_RefID = securityTicket.TenantID; assignmentQuery.IsDeleted = false; var foundAssignment = ORM_CMN_BPT_EMP_Employee_2_Office.Query.Search(Connection, Transaction, assignmentQuery); L5US_GAOfA_1742a temp = new L5US_GAOfA_1742a(); if (foundAssignment.Count > 0) { temp.AssignmentID = foundAssignment.First().AssignmentID; } temp.CMN_BPT_EMP_Employee_RefID = foundEmployee.CMN_BPT_EMP_EmployeeID; temp.CMN_STR_OfficeID = office.CMN_STR_OfficeID; temp.Office_InternalName = office.Office_InternalName; temp.IsOfficeToAccountDeleted = foundAssignment.Count == 0; temp.Office_Description = office.Office_Description; temp.Office_Name = office.Office_Name; temp.Parent_RefID = office.Parent_RefID; temp.USR_AccountID = Parameter.UserAccountID; listOfOfficesWithAssignments.Add(temp); } returnValue.Result = new L5US_GAOfA_1742(); returnValue.Result.OfficesWithAssignedUser = new List <L5US_GAOfA_1742a>().ToArray(); returnValue.Result.OfficesWithAssignedUser = listOfOfficesWithAssignments.ToArray(); return(returnValue); #endregion UserCode }
protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L5OU_SOUGD_1221 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_Guid(); #region Save if (Parameter.OrgUnitID == null || Parameter.OrgUnitID == Guid.Empty) { //*******************MedicalPracticeType************************ var medicalPractice = new ORM_HEC_MedicalPractis(); medicalPractice.HEC_MedicalPractiseID = Guid.NewGuid(); medicalPractice.Tenant_RefID = securityTicket.TenantID; medicalPractice.IsDeleted = false; medicalPractice.Save(Connection, Transaction); foreach (var item in Parameter.MedicalPracticeType) { var medicalPractice2PracticeType = new ORM_HEC_MedicalPractice_2_PracticeType(); medicalPractice2PracticeType.AssignmentID = Guid.NewGuid(); medicalPractice2PracticeType.HEC_MedicalPractice_Type_RefID = item.HEC_MedicalPractice_TypeID; medicalPractice2PracticeType.HEC_MedicalPractice_RefID = medicalPractice.HEC_MedicalPractiseID; medicalPractice2PracticeType.Tenant_RefID = securityTicket.TenantID; medicalPractice2PracticeType.IsDeleted = false; medicalPractice2PracticeType.Save(Connection, Transaction); } //******************* Office************************ var Office = new ORM_CMN_STR_Office(); Office.CMN_STR_OfficeID = Guid.NewGuid(); Office.Office_Name = Parameter.OrgUnitName_DictID; Office.Tenant_RefID = securityTicket.TenantID; if (Parameter.ParentID != null && Parameter.ParentID != Guid.Empty) { Office.Parent_RefID = Parameter.ParentID; } Office.Creation_Timestamp = DateTime.Now; var officeQuery = new ORM_CMN_STR_Office.Query(); officeQuery.Tenant_RefID = securityTicket.TenantID; int officeCount = ORM_CMN_STR_Office.Query.Search(Connection, Transaction, officeQuery).Count; Office.Office_InternalNumber = String.Format("{0:00000}", officeCount + 1); Office.Default_PhoneNumber = Parameter.Telephone; Office.DisplayImage_Document_RefID = Parameter.DisplayImage_Document_RefID; Office.Default_Email = Parameter.Email; Office.Default_Website = Parameter.Website; Office.Office_Description = new Dict("cmn_str_offices"); Office.Comment = Parameter.Notes; Office.IsMedicalPractice = true; Office.IfMedicalPractise_HEC_MedicalPractice_RefID = medicalPractice.HEC_MedicalPractiseID; Office.Save(Connection, Transaction); //*******************Save Address************************ foreach (var address in Parameter.Adresses) { var Office_2_Address = new ORM_CMN_STR_Office_Address(); Office_2_Address.CMN_STR_Office_AddressID = Guid.NewGuid(); Office_2_Address.IsBillingAddress = address.IsBillingAddress; Office_2_Address.IsShippingAddress = address.IsShippingAddress; Office_2_Address.IsSpecialAddress = address.IsSpecialAddress; Office_2_Address.CMN_Address_RefID = address.AddressID; Office_2_Address.Office_RefID = Office.CMN_STR_OfficeID; Office_2_Address.Tenant_RefID = securityTicket.TenantID; Office_2_Address.Creation_Timestamp = DateTime.Now; Office_2_Address.IsDefault = address.IsDefault; Office_2_Address.Save(Connection, Transaction); var Address = new ORM_CMN_Address(); Address.CMN_AddressID = Office_2_Address.CMN_Address_RefID; Address.Tenant_RefID = securityTicket.TenantID; Address.Creation_Timestamp = DateTime.Now; Address.City_Name = address.City; Address.Street_Name = address.Street_Name; Address.Street_Number = address.Street_Number; Address.Country_ISOCode = address.CountryISO; Address.Country_Name = address.CountryName; Address.City_PostalCode = address.ZIP; if (address.IsDefault) { Address.Lattitude = address.Lattitude; Address.Longitude = address.Longitude; } Address.Save(Connection, Transaction); } //*******************Save Languages************************ foreach (var item in Parameter.SpokenLanguage) { var officeSpokenLanguages = new ORM_CMN_STR_Office_SpokenLanguage(); officeSpokenLanguages.CMN_STR_Office_SpokenLanguageID = Guid.NewGuid(); officeSpokenLanguages.Office_RefID = Office.CMN_STR_OfficeID; officeSpokenLanguages.Language_RefID = item.CMN_LanguageID; officeSpokenLanguages.IsDeleted = item.IsDeleted; officeSpokenLanguages.Tenant_RefID = securityTicket.TenantID; officeSpokenLanguages.Save(Connection, Transaction); } //*******************Save Contact Person************************ var responsiblePerson = new ORM_CMN_STR_Office_ResponsiblePerson(); responsiblePerson.CMN_STR_Office_ResponsiblePersonID = Guid.NewGuid(); responsiblePerson.Office_RefID = Office.CMN_STR_OfficeID; responsiblePerson.CMN_BPT_EMP_Employee_RefID = Guid.NewGuid(); responsiblePerson.Tenant_RefID = securityTicket.TenantID; responsiblePerson.Creation_Timestamp = DateTime.Now; responsiblePerson.Save(Connection, Transaction); var employee = new ORM_CMN_BPT_EMP_Employee(); employee.CMN_BPT_EMP_EmployeeID = responsiblePerson.CMN_BPT_EMP_Employee_RefID; employee.BusinessParticipant_RefID = Guid.NewGuid(); employee.Creation_Timestamp = DateTime.Now; employee.Tenant_RefID = securityTicket.TenantID; employee.Save(Connection, Transaction); var businessParticpant = new ORM_CMN_BPT_BusinessParticipant(); businessParticpant.CMN_BPT_BusinessParticipantID = employee.BusinessParticipant_RefID; businessParticpant.IsNaturalPerson = true; businessParticpant.DisplayName = Parameter.ContactPerson.Title + " " + Parameter.ContactPerson.FirstName + " " + Parameter.ContactPerson.LastName; businessParticpant.Tenant_RefID = securityTicket.TenantID; businessParticpant.Creation_Timestamp = DateTime.Now; businessParticpant.IfNaturalPerson_CMN_PER_PersonInfo_RefID = Guid.NewGuid(); businessParticpant.Save(Connection, Transaction); var personInfo = new ORM_CMN_PER_PersonInfo(); personInfo.CMN_PER_PersonInfoID = businessParticpant.IfNaturalPerson_CMN_PER_PersonInfo_RefID; personInfo.Title = Parameter.ContactPerson.Title; personInfo.FirstName = Parameter.ContactPerson.FirstName; personInfo.LastName = Parameter.ContactPerson.LastName; personInfo.Tenant_RefID = securityTicket.TenantID; personInfo.Creation_Timestamp = DateTime.Now; personInfo.Save(Connection, Transaction); //*******************AppointmentType************************ foreach (var item in Parameter.AppoitmentType) { ORM_PPS_TSK_Task_Template_OrganizationalUnitAvailability orgUnitToAppointmentType = new ORM_PPS_TSK_Task_Template_OrganizationalUnitAvailability(); orgUnitToAppointmentType.PPS_TSK_Task_Template_OrganizationalUnitAvailabilityID = Guid.NewGuid(); orgUnitToAppointmentType.CMN_STR_Office_RefID = Office.CMN_STR_OfficeID; orgUnitToAppointmentType.PPS_TSK_Task_Template_RefID = item.PPS_TSK_Task_Template_RefID; orgUnitToAppointmentType.Creation_Timestamp = DateTime.Now; orgUnitToAppointmentType.Tenant_RefID = securityTicket.TenantID; orgUnitToAppointmentType.Save(Connection, Transaction); } returnValue.Result = Office.CMN_STR_OfficeID; } #endregion #region Delete else if (Parameter.IsDeleted) { List <Guid> guidList = new List <Guid>(); guidList.Add(Parameter.OrgUnitID); cls_Delete_OrgsUnitsGeneralData.Invoke(Connection, Transaction, new P_L5OU_DOUGD_1221 { OrgUnitID = guidList.ToArray() }, securityTicket); } #endregion #region Edit else { var officeQuery = new ORM_CMN_STR_Office.Query() { Tenant_RefID = securityTicket.TenantID, IsDeleted = false, CMN_STR_OfficeID = Parameter.OrgUnitID }; var office = ORM_CMN_STR_Office.Query.Search(Connection, Transaction, officeQuery).Single(); office.Office_Name = Parameter.OrgUnitName_DictID; office.Default_PhoneNumber = Parameter.Telephone; office.DisplayImage_Document_RefID = Parameter.DisplayImage_Document_RefID; office.Default_Email = Parameter.Email; office.Comment = Parameter.Notes; office.Default_Website = Parameter.Website; if (Parameter.ParentID != null && Parameter.ParentID != Guid.Empty) { office.Parent_RefID = Parameter.ParentID; } office.IsMedicalPractice = true; office.Save(Connection, Transaction); //*******************Medical practice type************************ var medicalPractice2TypeQuery = new ORM_HEC_MedicalPractice_2_PracticeType.Query() { Tenant_RefID = securityTicket.TenantID, IsDeleted = false, HEC_MedicalPractice_RefID = office.IfMedicalPractise_HEC_MedicalPractice_RefID }; var medicalPractice2Type = ORM_HEC_MedicalPractice_2_PracticeType.Query.Search(Connection, Transaction, medicalPractice2TypeQuery).ToList(); foreach (var item in Parameter.MedicalPracticeType) { if (item.IsDeleted) { foreach (var medicalPractice2TypeItem in medicalPractice2Type) { if (medicalPractice2TypeItem.HEC_MedicalPractice_Type_RefID == item.HEC_MedicalPractice_TypeID) { medicalPractice2TypeItem.Tenant_RefID = securityTicket.TenantID; if (office.IfMedicalPractise_HEC_MedicalPractice_RefID != Guid.Empty) { medicalPractice2TypeItem.HEC_MedicalPractice_RefID = office.IfMedicalPractise_HEC_MedicalPractice_RefID; } else { var medicalPractice = new ORM_HEC_MedicalPractis(); medicalPractice.HEC_MedicalPractiseID = Guid.NewGuid(); medicalPractice.Tenant_RefID = securityTicket.TenantID; medicalPractice.IsDeleted = false; medicalPractice.Save(Connection, Transaction); office.IfMedicalPractise_HEC_MedicalPractice_RefID = medicalPractice.HEC_MedicalPractiseID; office.Save(Connection, Transaction); medicalPractice2TypeItem.HEC_MedicalPractice_RefID = medicalPractice.HEC_MedicalPractiseID; } medicalPractice2TypeItem.IsDeleted = true; medicalPractice2TypeItem.Save(Connection, Transaction); break; } } } else { ORM_HEC_MedicalPractice_2_PracticeType medPracticeType = null; foreach (var medicalPractice2TypeItem in medicalPractice2Type) { if (medicalPractice2TypeItem.HEC_MedicalPractice_Type_RefID == item.HEC_MedicalPractice_TypeID) { medPracticeType = medicalPractice2TypeItem; if (medPracticeType.HEC_MedicalPractice_RefID == Guid.Empty) { var medicalPractice = new ORM_HEC_MedicalPractis(); medicalPractice.HEC_MedicalPractiseID = Guid.NewGuid(); medicalPractice.Tenant_RefID = securityTicket.TenantID; medicalPractice.IsDeleted = false; medicalPractice.Save(Connection, Transaction); office.IfMedicalPractise_HEC_MedicalPractice_RefID = medicalPractice.HEC_MedicalPractiseID; office.Save(Connection, Transaction); medPracticeType.HEC_MedicalPractice_RefID = medicalPractice.HEC_MedicalPractiseID; medPracticeType.Save(Connection, Transaction); } break; } } if (medPracticeType == null) { medPracticeType = new ORM_HEC_MedicalPractice_2_PracticeType(); medPracticeType.Tenant_RefID = securityTicket.TenantID; medPracticeType.IsDeleted = false; medPracticeType.HEC_MedicalPractice_Type_RefID = item.HEC_MedicalPractice_TypeID; if (office.IfMedicalPractise_HEC_MedicalPractice_RefID != Guid.Empty) { medPracticeType.HEC_MedicalPractice_RefID = office.IfMedicalPractise_HEC_MedicalPractice_RefID; } else { var medicalPractice = new ORM_HEC_MedicalPractis(); medicalPractice.HEC_MedicalPractiseID = Guid.NewGuid(); medicalPractice.Tenant_RefID = securityTicket.TenantID; medicalPractice.IsDeleted = false; medicalPractice.Save(Connection, Transaction); office.IfMedicalPractise_HEC_MedicalPractice_RefID = medicalPractice.HEC_MedicalPractiseID; office.Save(Connection, Transaction); medPracticeType.HEC_MedicalPractice_RefID = medicalPractice.HEC_MedicalPractiseID; } medPracticeType.Save(Connection, Transaction); } else { if (medPracticeType.IsDeleted) { medPracticeType.Tenant_RefID = securityTicket.TenantID; medPracticeType.IsDeleted = true; if (office.IfMedicalPractise_HEC_MedicalPractice_RefID != Guid.Empty) { medPracticeType.HEC_MedicalPractice_RefID = office.IfMedicalPractise_HEC_MedicalPractice_RefID; } else { var medicalPractice = new ORM_HEC_MedicalPractis(); medicalPractice.HEC_MedicalPractiseID = Guid.NewGuid(); medicalPractice.Tenant_RefID = securityTicket.TenantID; medicalPractice.IsDeleted = false; medicalPractice.Save(Connection, Transaction); office.IfMedicalPractise_HEC_MedicalPractice_RefID = medicalPractice.HEC_MedicalPractiseID; office.Save(Connection, Transaction); medPracticeType.HEC_MedicalPractice_RefID = medicalPractice.HEC_MedicalPractiseID; } medPracticeType.Save(Connection, Transaction); } } } } //*******************Save Spoken Languages************************ var office_spoken_languages = new ORM_CMN_STR_Office_SpokenLanguage.Query() { Tenant_RefID = securityTicket.TenantID, Office_RefID = office.CMN_STR_OfficeID, IsDeleted = false }; var officeSpokenLanguageQuery = ORM_CMN_STR_Office_SpokenLanguage.Query.Search(Connection, Transaction, office_spoken_languages); foreach (var item in Parameter.SpokenLanguage) { ORM_CMN_STR_Office_SpokenLanguage officeSpokenLang = null; foreach (var officeSpokenLanguageItem in officeSpokenLanguageQuery) { if (officeSpokenLanguageItem.Language_RefID == item.CMN_LanguageID && officeSpokenLanguageItem.Office_RefID == office.CMN_STR_OfficeID) { officeSpokenLang = officeSpokenLanguageItem; break; } } if (officeSpokenLang == null) { var officeSpokenLanguage = new ORM_CMN_STR_Office_SpokenLanguage(); officeSpokenLanguage.CMN_STR_Office_SpokenLanguageID = Guid.NewGuid(); officeSpokenLanguage.Language_RefID = item.CMN_LanguageID; officeSpokenLanguage.IsDeleted = item.IsDeleted; officeSpokenLanguage.Office_RefID = office.CMN_STR_OfficeID; officeSpokenLanguage.Tenant_RefID = securityTicket.TenantID; officeSpokenLanguage.Save(Connection, Transaction); } else { officeSpokenLang.Language_RefID = item.CMN_LanguageID; officeSpokenLang.IsDeleted = item.IsDeleted; officeSpokenLang.Save(Connection, Transaction); } } //*******************Save Address************************ foreach (var address in Parameter.Adresses) { var Office_2_Address = ORM_CMN_STR_Office_Address.Query.Search(Connection, Transaction, new ORM_CMN_STR_Office_Address.Query() { IsBillingAddress = address.IsBillingAddress, IsShippingAddress = address.IsShippingAddress, IsSpecialAddress = address.IsSpecialAddress, Office_RefID = office.CMN_STR_OfficeID, Tenant_RefID = securityTicket.TenantID, CMN_Address_RefID = address.AddressID, IsDeleted = false }).SingleOrDefault(); if (Office_2_Address == null) { Office_2_Address = new ORM_CMN_STR_Office_Address(); Office_2_Address.CMN_STR_Office_AddressID = Guid.NewGuid(); Office_2_Address.IsBillingAddress = address.IsBillingAddress; Office_2_Address.IsShippingAddress = address.IsShippingAddress; Office_2_Address.IsSpecialAddress = address.IsSpecialAddress; Office_2_Address.CMN_Address_RefID = address.AddressID; Office_2_Address.Office_RefID = office.CMN_STR_OfficeID; Office_2_Address.Tenant_RefID = securityTicket.TenantID; Office_2_Address.Creation_Timestamp = DateTime.Now; } Office_2_Address.IsDefault = address.IsDefault; var Address = ORM_CMN_Address.Query.Search(Connection, Transaction, new ORM_CMN_Address.Query() { Tenant_RefID = securityTicket.TenantID, IsDeleted = false, CMN_AddressID = Office_2_Address.CMN_Address_RefID }).SingleOrDefault(); if (Address == null) { Address = new ORM_CMN_Address(); Address.CMN_AddressID = Office_2_Address.CMN_Address_RefID; Address.Tenant_RefID = securityTicket.TenantID; Address.Creation_Timestamp = DateTime.Now; } if (address.IsDeleted) { Address.IsDeleted = true; Office_2_Address.IsDeleted = true; } else { Address.City_Name = address.City; Address.Street_Name = address.Street_Name; Address.Street_Number = address.Street_Number; Address.Country_ISOCode = address.CountryISO; Address.Country_Name = address.CountryName; Address.City_PostalCode = address.ZIP; if (address.IsDefault) { Address.Lattitude = address.Lattitude; Address.Longitude = address.Longitude; } } Office_2_Address.Save(Connection, Transaction); Address.Save(Connection, Transaction); } //*******************AppointmentType************************ foreach (var item in Parameter.AppoitmentType) { var orgUnitToAppointmentTypeQuery = new ORM_PPS_TSK_Task_Template_OrganizationalUnitAvailability.Query(); orgUnitToAppointmentTypeQuery.CMN_STR_Office_RefID = Parameter.OrgUnitID; orgUnitToAppointmentTypeQuery.PPS_TSK_Task_Template_RefID = item.PPS_TSK_Task_Template_RefID; orgUnitToAppointmentTypeQuery.Tenant_RefID = securityTicket.TenantID; orgUnitToAppointmentTypeQuery.IsDeleted = false; var orgUnitToAppointmentType = ORM_PPS_TSK_Task_Template_OrganizationalUnitAvailability.Query.Search(Connection, Transaction, orgUnitToAppointmentTypeQuery).SingleOrDefault(); if (orgUnitToAppointmentType == null) { if (!item.IsDeleted) { orgUnitToAppointmentType = new ORM_PPS_TSK_Task_Template_OrganizationalUnitAvailability(); orgUnitToAppointmentType.PPS_TSK_Task_Template_OrganizationalUnitAvailabilityID = Guid.NewGuid(); orgUnitToAppointmentType.CMN_STR_Office_RefID = Parameter.OrgUnitID; orgUnitToAppointmentType.PPS_TSK_Task_Template_RefID = item.PPS_TSK_Task_Template_RefID; orgUnitToAppointmentType.Creation_Timestamp = DateTime.Now; orgUnitToAppointmentType.Tenant_RefID = securityTicket.TenantID; orgUnitToAppointmentType.Save(Connection, Transaction); } } else { if (item.IsDeleted) { orgUnitToAppointmentType.IsDeleted = true; orgUnitToAppointmentType.Save(Connection, Transaction); } } } //*******************Save Contact Person************************ var responsiblePerson = ORM_CMN_STR_Office_ResponsiblePerson.Query.Search(Connection, Transaction, new ORM_CMN_STR_Office_ResponsiblePerson.Query() { IsDeleted = false, Tenant_RefID = securityTicket.TenantID, Office_RefID = office.CMN_STR_OfficeID }).Single(); var employee = ORM_CMN_BPT_EMP_Employee.Query.Search(Connection, Transaction, new ORM_CMN_BPT_EMP_Employee.Query() { Tenant_RefID = securityTicket.TenantID, IsDeleted = false, CMN_BPT_EMP_EmployeeID = responsiblePerson.CMN_BPT_EMP_Employee_RefID }).Single(); var businessParticpant = ORM_CMN_BPT_BusinessParticipant.Query.Search(Connection, Transaction, new ORM_CMN_BPT_BusinessParticipant.Query() { Tenant_RefID = securityTicket.TenantID, IsDeleted = false, CMN_BPT_BusinessParticipantID = employee.BusinessParticipant_RefID }).Single(); businessParticpant.DisplayName = Parameter.ContactPerson.Title + " " + Parameter.ContactPerson.FirstName + " " + Parameter.ContactPerson.LastName; businessParticpant.Save(Connection, Transaction); var personInfo = ORM_CMN_PER_PersonInfo.Query.Search(Connection, Transaction, new ORM_CMN_PER_PersonInfo.Query() { Tenant_RefID = securityTicket.TenantID, IsDeleted = false, CMN_PER_PersonInfoID = businessParticpant.IfNaturalPerson_CMN_PER_PersonInfo_RefID }).Single(); personInfo.Title = Parameter.ContactPerson.Title; personInfo.FirstName = Parameter.ContactPerson.FirstName; personInfo.LastName = Parameter.ContactPerson.LastName; personInfo.Save(Connection, Transaction); returnValue.Result = office.CMN_STR_OfficeID; } #endregion return(returnValue); #endregion UserCode }