///<summary> /// Method Invocation of wrapper classes ///</summary> protected static FR_L6PR_SPM_1040 Invoke(DbConnection Connection, DbTransaction Transaction, string ConnectionString, P_L6PR_SPM_1040 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { bool cleanupConnection = Connection == null; bool cleanupTransaction = Transaction == null; FR_L6PR_SPM_1040 functionReturn = new FR_L6PR_SPM_1040(); try { if (cleanupConnection == true) { Connection = CSV2Core_MySQL.Support.DBSQLSupport.CreateConnection(ConnectionString); Connection.Open(); } if (cleanupTransaction == true) { Transaction = Connection.BeginTransaction(); } functionReturn = Execute(Connection, Transaction, Parameter, securityTicket); #region Cleanup Connection/Transaction //Commit the transaction if (cleanupTransaction == true) { Transaction.Commit(); } //Close the connection if (cleanupConnection == true) { Connection.Close(); } #endregion } catch (Exception ex) { try { if (cleanupTransaction == true && Transaction != null) { Transaction.Rollback(); } } catch { } try { if (cleanupConnection == true && Connection != null) { Connection.Close(); } } catch { } throw new Exception("Exception occured in method cls_Save_ProjectMember", ex); } return(functionReturn); }
protected static FR_L6PR_SPM_1040 Execute(DbConnection Connection, DbTransaction Transaction, P_L6PR_SPM_1040 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_L6PR_SPM_1040(); //Put your code here var item = new CL1_TMS_PRO.ORM_TMS_PRO_ProjectMember(); L6PR_SPM_1040 addedRemovedProjectMemberInfo = new L6PR_SPM_1040(); List <ORM_TMS_PRO_ProjectMember> removedProjectMembers = new List <ORM_TMS_PRO_ProjectMember>(); List <ORM_TMS_PRO_ProjectMember> newProjectMembers = new List <ORM_TMS_PRO_ProjectMember>(); if (Parameter.Project_IDs_to_Remove_Project_Members.ToList().Count() != 0) { foreach (var project in Parameter.Project_IDs_to_Remove_Project_Members.ToList()) { if (project != Guid.Empty) { item = ORM_TMS_PRO_ProjectMember.Query.Search(Connection, Transaction, new ORM_TMS_PRO_ProjectMember.Query() { Tenant_RefID = securityTicket.TenantID, IsDeleted = false, Project_RefID = project, USR_Account_RefID = Parameter.User_ID }).Single(); item.IsDeleted = true; item.Save(Connection, Transaction); removedProjectMembers.Add(item); } } } if (Parameter.Project_IDs_to_Add_Project_Members.ToList().Count() != 0) { foreach (var project in Parameter.Project_IDs_to_Add_Project_Members.ToList()) { if (project != Guid.Empty) { item = new CL1_TMS_PRO.ORM_TMS_PRO_ProjectMember(); item = ORM_TMS_PRO_ProjectMember.Query.Search(Connection, Transaction, new ORM_TMS_PRO_ProjectMember.Query() { Tenant_RefID = securityTicket.TenantID, IsDeleted = false, Project_RefID = project, USR_Account_RefID = Parameter.User_ID }).SingleOrDefault(); if (item == null) { item = new CL1_TMS_PRO.ORM_TMS_PRO_ProjectMember(); item.TMS_PRO_ProjectMemberID = Guid.NewGuid(); item.USR_Account_RefID = Parameter.User_ID; item.Project_RefID = project; item.IsDeleted = false; item.Tenant_RefID = securityTicket.TenantID; item.Save(Connection, Transaction); newProjectMembers.Add(item); } } } } addedRemovedProjectMemberInfo.RemovedProjectMembers = removedProjectMembers.ToArray(); addedRemovedProjectMemberInfo.AddedProjectMembers = newProjectMembers.ToArray(); returnValue.Result = addedRemovedProjectMemberInfo; return(returnValue); #endregion UserCode }