public List <T> GetTable <T>(ConnectionNameEnum connectionNameEnum, string tableName, string whereCondition)
        {
            List <T> list;
            var      com = GeneralMethods.MakeQuerySqlCommand(connectionNameEnum, "Select * from " + tableName + " " + whereCondition, ConnectionTimeout);

            try
            {
                using (var result = com.ExecuteReader())
                {
                    if (typeof(T).IsValueType || "".GetType() == typeof(T))
                    {
                        list = new List <T>();
                        Parallel.ForEach(SimpleParallelDataReader <T>(result), (data) =>
                        {
                            list.Add(data);
                        });
                        return(list);
                    }

                    list = new GeneralMethods().ToViewModel <T>(result);
                }
            }
            catch (DataException)
            {
                Parameters.Clear();
                throw;
            }
            finally
            {
                ConnectionManager.ReleaseConnection(com.Connection);
            }

            return(list);
        }
        public DataSet RunQuery(string connectionString, string query)
        {
            SqlCommand com = null;

            try
            {
                com = GeneralMethods.MakeQuerySqlCommand(connectionString, query, ConnectionTimeout, Parameters);
                var set = new DataSet();
                new SqlDataAdapter(com).Fill(set);

                return(set);
            }
            catch (Exception)
            {
                {
                }
                throw;
            }
            finally
            {
                if (com != null)
                {
                    ConnectionManager.ReleaseConnection(com.Connection);
                }
            }
        }
        public DataTable GetTable(string connectionString, string tableName, string whereCondition)
        {
            SqlCommand com = null;

            try
            {
                com = GeneralMethods.MakeQuerySqlCommand(connectionString, "Select * from " + tableName + " " + whereCondition, ConnectionTimeout);
                var set = new DataSet();
                new SqlDataAdapter(com).Fill(set);

                return(set.Tables[0]);
            }
            catch (Exception)
            {
                {
                }
                throw;
            }
            finally
            {
                if (com != null)
                {
                    ConnectionManager.ReleaseConnection(com.Connection);
                }
            }
        }
        public List <T> RunQuery <T>(ConnectionNameEnum connectionNameEnum, string query)
        {
            List <T>   list;
            SqlCommand com;

            if (connectionNameEnum == ConnectionNameEnum.DirectConnectionString)
            {
                com = GeneralMethods.MakeQuerySqlCommand(_ConnectionString, query, ConnectionTimeout, Parameters);
            }
            else
            {
                com = GeneralMethods.MakeQuerySqlCommand(connectionNameEnum, query, ConnectionTimeout, Parameters);
            }
            using (var result = com.ExecuteReader())
            {
                try
                {
                    if (typeof(T).IsValueType || "".GetType() == typeof(T))
                    {
                        list = new List <T>();
                        Parallel.ForEach(SimpleParallelDataReader <T>(result), (data) =>
                        {
                            list.Add(data);
                        });
                        return(list);
                    }

                    list = new GeneralMethods().ToViewModel <T>(result);
                }
                catch (DataException)
                {
                    Parameters.Clear();
                    throw;
                }
                finally
                {
                    ConnectionManager.ReleaseConnection(com.Connection);
                }
            }
            return(list);
        }