public DataSet ExecuteQuery(string ProcedureName, Struct_Parameters[] ProcedureParameters)
        {
            SqlCommand Cmd = new SqlCommand();
                SqlDataAdapter Adp = new SqlDataAdapter();
                DataSet Ds = new DataSet();
                try
                {
                    Cmd.CommandType = System.Data.CommandType.StoredProcedure;
                    Cmd.CommandText = ProcedureName;
                    Cmd.CommandTimeout = CnsQueryTimeout;

                    if (!Information.IsNothing(ProcedureParameters))
                    {
                        foreach (Struct_Parameters Inner_Obj in ProcedureParameters)
                        {
                            Cmd.Parameters.AddWithValue(Inner_Obj.Name, Inner_Obj.Value);
                        }
                    }

                    Cmd.Transaction = this.mTransaction;
                    Cmd.Connection = this.mConnection;
                    Adp.SelectCommand = Cmd;
                    Adp.Fill(Ds);
                }
                catch { }
                finally
                {
                    Cmd.Dispose();
                    Cmd = null;
                    Adp.Dispose();
                    Adp = null;
                }

                return Ds;
        }
        public int ExecuteNonQuery(string ProcedureName, Struct_Parameters[] ProcedureParameters)
        {
            SqlCommand Cmd = new SqlCommand();
                int ReturnValue = 0;
                try
                {
                    Cmd.CommandType = System.Data.CommandType.StoredProcedure;
                    Cmd.CommandText = ProcedureName;
                    Cmd.CommandTimeout = CnsQueryTimeout;

                    if (!Information.IsNothing(ProcedureParameters))
                    {
                        foreach (Struct_Parameters Inner_Obj in ProcedureParameters)
                        {
                            Cmd.Parameters.AddWithValue(Inner_Obj.Name, Inner_Obj.Value);
                        }
                    }

                    Cmd.Transaction = this.mTransaction;
                    Cmd.Connection = this.mConnection;
                    ReturnValue = Cmd.ExecuteNonQuery();
                }
                catch { }
                finally
                {
                    Cmd.Dispose();
                    Cmd = null;
                }
                return ReturnValue;
        }