public DataTable ExecuteProcedure(IStoredProcedureConfig cfg)
        {
            if (this.OpenConnection() == true)
            {
                var rtnTbl = new DataTable();
                using (MySqlCommand cmd = new MySqlCommand())
                {
                    cmd.Connection = _connection;
                    cmd.CommandText = cfg.ProcedureName;
                    cmd.CommandType = System.Data.CommandType.StoredProcedure;

                    // Loop through all parms in dictionary.
                    // Add as inbound parameters.
                    foreach (var param in cfg.Parameters)
                    {
                        cmd.Parameters.AddWithValue(param.Key, param.Value);
                        cmd.Parameters[param.Key].Direction = System.Data.ParameterDirection.Input;
                    }

                    // procedure execution.
                    using (MySqlDataReader rdr = cmd.ExecuteReader())
                        rtnTbl.Load(rdr);

                    this.CloseConnection();
                }

                return rtnTbl;
            }

            return null;
        }
        //Stored Procedure
        public void ExecuteNonQueryProcedure(IStoredProcedureConfig cfg)
        {
            if (this.OpenConnection() == true)
            {
                using (MySqlCommand cmd = new MySqlCommand())
                {
                    cmd.Connection = _connection;
                    cmd.CommandText = cfg.ProcedureName;
                    cmd.CommandType = System.Data.CommandType.StoredProcedure;

                    // Loop through all parms in dictionary.
                    // Add as inbound parameters.
                    foreach (var param in cfg.Parameters)
                    {
                        cmd.Parameters.AddWithValue(param.Key, param.Value);
                        cmd.Parameters[param.Key].Direction = System.Data.ParameterDirection.Input;
                    }

                    // procedure execution.
                    cmd.ExecuteNonQuery();
                    this.CloseConnection();
                }
            }
        }