public TT GetSalesforceBulkBatchResult <TT, T>(string jobId, string batchId)
            where TT : BaseModelList <T>
            where T : BaseModel
        {
            try
            {
                String connectionString = SalesforceCxn.SalesforceConnectionString();

                using (SalesforceConnection connection = new SalesforceConnection(connectionString))
                {
                    SalesforceCommand cmd = new SalesforceCommand("GetBatchResults", connection);
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.Add(new SalesforceParameter("@JobId", jobId));
                    cmd.Parameters.Add(new SalesforceParameter("@BatchId", batchId));

                    SalesforceDataReader rdr = cmd.ExecuteReader();

                    var salesforceBulkBatchResults = SfdcReflectionUtil.PopulateBaseModelListFromReader <TT, T>(rdr);
                    return(salesforceBulkBatchResults);
                }
            }
            catch (Exception ex)
            {
                CfsLogging.LogFatal("Error occured Salesforce Data Loader", String.Format(MethodBase.GetCurrentMethod().Name + " method failed in SalesforceContext class") + "\n" + ex);
                throw;
            }
        }
        public TT GetRecordTypesFromSalesforce <TT, T>()
            where TT : BaseModelList <T>
            where T : BaseModel
        {
            try
            {
                String connectionString = SalesforceCxn.SalesforceConnectionString();
                string sql =
                    String.Format("SELECT Id, Name,SobjectType FROM RecordType");

                using (SalesforceConnection connection = new SalesforceConnection(connectionString))
                {
                    SalesforceCommand    cmd = new SalesforceCommand(sql, connection);
                    SalesforceDataReader rdr = cmd.ExecuteReader();

                    var sfRecordTypes = SfdcReflectionUtil.PopulateBaseModelListFromReader <TT, T>(rdr);
                    return(sfRecordTypes);
                }
            }
            catch (Exception ex)
            {
                CfsLogging.LogFatal("Error occured Salesforce Data Loader", String.Format(MethodBase.GetCurrentMethod().Name + " method failed in SalesforceContext class") + "\n" + ex);
                throw;
            }
        }