protected static FR_L5RL_GRFT_0942_Array Execute(DbConnection Connection, DbTransaction Transaction, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode

            var returnValue = new FR_L5RL_GRFT_0942_Array();
            List <L5RL_GRFT_0942> retValList = new List <L5RL_GRFT_0942>();

            //Put your code here
            ORM_CMN_PER_Religion.Query religionQuery = new ORM_CMN_PER_Religion.Query();
            religionQuery.Tenant_RefID = securityTicket.TenantID;
            religionQuery.IsDeleted    = false;
            List <ORM_CMN_PER_Religion> religionList = ORM_CMN_PER_Religion.Query.Search(Connection, Transaction, religionQuery);

            ORM_CMN_PER_Religion_2_EconomicRegion religionEconomicRegion;
            ORM_CMN_EconomicRegion economicRegion;
            FR_Base economicRegionRes;
            ORM_CMN_Country_2_EconomicRegion countryEconomicRegion;
            ORM_CMN_Country country;
            FR_Base         countryRes;
            L5RL_GRFT_0942  retValItem;
            foreach (var religion in religionList)
            {
                religionEconomicRegion = ORM_CMN_PER_Religion_2_EconomicRegion.Query.Search(Connection, Transaction,
                                                                                            new ORM_CMN_PER_Religion_2_EconomicRegion.Query()
                {
                    Tenant_RefID           = securityTicket.TenantID,
                    IsDeleted              = false,
                    CMN_PER_Religion_RefID = religion.CMN_PER_ReligionID
                }).FirstOrDefault();

                retValItem = new L5RL_GRFT_0942();
                retValItem.CMN_PER_ReligionID       = religion.CMN_PER_ReligionID;
                retValItem.GlobalPropertyMatchingID = religion.GlobalPropertyMatchingID;
                retValItem.Religion_Name            = religion.Religion_Name;
                retValItem.Religion_Code            = religionEconomicRegion != null ? religionEconomicRegion.Religion_Code : "";

                if (religionEconomicRegion == null)
                {
                    retValItem.Country_ISOCode_Alpha2 = "";
                    retValList.Add(retValItem);
                    continue;
                }

                economicRegion    = new ORM_CMN_EconomicRegion();
                economicRegionRes = economicRegion.Load(Connection, Transaction, religionEconomicRegion.CMN_EconomicRegion_RefID);

                if (economicRegionRes.Status != FR_Status.Success || economicRegion.CMN_EconomicRegionID == Guid.Empty)
                {
                    retValItem.Country_ISOCode_Alpha2 = "";
                    retValList.Add(retValItem);
                    continue;
                }

                countryEconomicRegion = ORM_CMN_Country_2_EconomicRegion.Query.Search(Connection, Transaction,
                                                                                      new ORM_CMN_Country_2_EconomicRegion.Query()
                {
                    Tenant_RefID             = securityTicket.TenantID,
                    IsDeleted                = false,
                    CMN_EconomicRegion_RefID = economicRegion.CMN_EconomicRegionID
                }).FirstOrDefault();

                if (countryEconomicRegion == null)
                {
                    retValItem.Country_ISOCode_Alpha2 = "";
                    retValList.Add(retValItem);
                    continue;
                }

                country    = new ORM_CMN_Country();
                countryRes = country.Load(Connection, Transaction, countryEconomicRegion.CMN_Country_RefID);

                if (countryRes.Status != FR_Status.Success || country.CMN_CountryID == Guid.Empty)
                {
                    retValItem.Country_ISOCode_Alpha2 = "";
                    retValList.Add(retValItem);
                    continue;
                }

                retValItem.Country_ISOCode_Alpha2 = country.Country_ISOCode_Alpha2;
                retValList.Add(retValItem);
            }

            returnValue.Result = retValList.ToArray();

            return(returnValue);

            #endregion UserCode
        }
        ///<summary>
        /// Method Invocation of wrapper classes
        ///<summary>
        protected static FR_L5RL_GRFT_0942_Array Invoke(DbConnection Connection, DbTransaction Transaction, string ConnectionString, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            bool cleanupConnection  = Connection == null;
            bool cleanupTransaction = Transaction == null;

            FR_L5RL_GRFT_0942_Array functionReturn = new FR_L5RL_GRFT_0942_Array();

            try
            {
                if (cleanupConnection == true)
                {
                    Connection = CSV2Core_MySQL.Support.DBSQLSupport.CreateConnection(ConnectionString);
                    Connection.Open();
                }
                if (cleanupTransaction == true)
                {
                    Transaction = Connection.BeginTransaction();
                }

                functionReturn = Execute(Connection, Transaction, 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 { }

                Guid errorID = Guid.NewGuid();
                ServerLog.Instance.Fatal("Application error occured. ErrorID = " + errorID, ex);
                throw ex;
            }
            return(functionReturn);
        }