using System;

using System.Data;

using System.Collections;

using System.Data.SqlTypes;

using System.Data.SqlClient;

 

namespace YellowbridgeSoftwareInc.BusinessBase

{

      /// <summary>

      /// Purpose: Business base class for the table 'Categories'.

      /// </summary>

      public abstract class Categories

      {

            #region Class Member Declarations

                  string _connectionString;

                  private SqlInt32 _CategoryID;

                  private SqlString _CategoryName;

                  private SqlString _Description;

                  private SqlBinary _Picture;

                       

            #endregion

           

            public Categories(  string connectionString )

            {

                  _connectionString = connectionString ;

            }

           

            // Create a new BusinessBase.Categories object and fill it with data by it's primary key

            public Categories(  string connectionString, SqlInt32 CategoryID  )

            {

                  _connectionString = connectionString ;

                 

                  // Fill the object with data by primary key

                  SelectOne( CategoryID  );

            }

           

           

           

            #region Instance Methods

            public void SelectOne(  SqlInt32 CategoryID  )

            {

                  DataTable data;

                 

                  // Get a DataTable

                  data = Persist.Categories.SelectOne_DataTable( _connectionString, CategoryID  );

                                   

                  // Fill the fields

                  FillFromDataTable( data );

                 

            }

           

           

            public bool Insert ()

            {

                 

                  SqlInt32 CategoryIDOutput = _CategoryID;

                             

                  bool returnValue = Persist.Categories.Insert( _connectionString, out CategoryIDOutput, CategoryName, Description, Picture  );

                 

                  _CategoryID = CategoryIDOutput;

                 

            return returnValue;

                 

           

            }

           

            public bool Update ()

            {

                  return Persist.Categories.Update( _connectionString,CategoryID, CategoryName, Description, Picture  );

            }

           

            public bool Delete ()

            {

                  return Persist.Categories.Delete( _connectionString,CategoryID  );

            }

           

           

            #endregion

           

            #region Static Methods

           

            #region Select One Methods

            public static DataTable SelectOne_DataTable( string ConnectionString, SqlInt32 CategoryID  )

            {

                  return Persist.Categories.SelectOne_DataTable( ConnectionString, CategoryID );

            }

           

            public static DataTable SelectOne_DataTable( SqlConnection Connection, SqlInt32 CategoryID  )

            {

                  return Persist.Categories.SelectOne_DataTable( Connection, CategoryID );

            }

           

            public static DataTable SelectOne_DataTable( SqlTransaction Transaction, SqlInt32 CategoryID  )

            {

                  return Persist.Categories.SelectOne_DataTable( Transaction, CategoryID );

            }

           

           

 

            public static DataSet SelectOne_DataSet( string ConnectionString, SqlInt32 CategoryID  )

            {

                  return Persist.Categories.SelectOne_DataSet( ConnectionString, CategoryID );

            }

           

            public static DataSet SelectOne_DataSet( SqlConnection Connection, SqlInt32 CategoryID  )

            {

                  return Persist.Categories.SelectOne_DataSet( Connection, CategoryID );

            }

           

            public static DataSet SelectOne_DataSet( SqlTransaction Transaction, SqlInt32 CategoryID  )

            {

                  return Persist.Categories.SelectOne_DataSet( Transaction, CategoryID );

            }

           

            public static SqlDataReader SelectOne_DataReader( string ConnectionString, SqlInt32 CategoryID  )

            {

                  return Persist.Categories.SelectOne_DataReader( ConnectionString, CategoryID );

            }

           

            public static SqlDataReader SelectOne_DataReader( SqlConnection Connection, SqlInt32 CategoryID  )

            {

                  return Persist.Categories.SelectOne_DataReader( Connection, CategoryID );

            }

           

            public static SqlDataReader SelectOne_DataReader( SqlTransaction Transaction, SqlInt32 CategoryID  )

            {

                  return Persist.Categories.SelectOne_DataReader( Transaction, CategoryID );

            }

           

            #endregion

           

            #region Fill DataSet With All Methods

            public static void FillDataSetWithAll( string ConnectionString, DataSet StronglyTypedDataSet )

            {

                  Persist.Categories.FillDataSetWithAll( ConnectionString, StronglyTypedDataSet );

            }

           

            public static void FillDataSetWithAll( SqlTransaction Transaction, DataSet StronglyTypedDataSet )

            {

                  Persist.Categories.FillDataSetWithAll( Transaction, StronglyTypedDataSet );

            }

           

            #endregion

           

            #region Fill DataSet With WhereClause Methods

            public static void FillDataSetWithWhereClause( string ConnectionString, DataSet StronglyTypedDataSet, string WhereClause )

            {

                  Persist.Categories.FillDataSetWithWhereClause( ConnectionString, StronglyTypedDataSet, WhereClause );

 

            }

           

            public static void FillDataSetWithWhereClause( SqlTransaction Transaction, DataSet StronglyTypedDataSet, string WhereClause )

            {

                  Persist.Categories.FillDataSetWithWhereClause( Transaction, StronglyTypedDataSet, WhereClause );

            }

           

            #endregion

           

            #region Fill DataSet With Single Methods

           

           

            public static void FillDataSetWithSingle( string ConnectionString, DataSet StronglyTypedDataSet, SqlInt32 CategoryID  )

            {

                  Persist.Categories.FillDataSetWithSingle( ConnectionString, StronglyTypedDataSet, CategoryID  );

            }

           

            public static void FillDataSetWithSingle( SqlConnection Connection, DataSet StronglyTypedDataSet, SqlInt32 CategoryID  )

            {

                  Persist.Categories.FillDataSetWithSingle( Connection, StronglyTypedDataSet, CategoryID  );

            }

           

           

            public static void FillDataSetWithSingle( SqlTransaction Transaction, DataSet StronglyTypedDataSet, SqlInt32 CategoryID  )

            {

                  Persist.Categories.FillDataSetWithSingle( Transaction, StronglyTypedDataSet, CategoryID  );

            }

           

            #endregion

           

            #region Select All Methods

           

            public static DataTable SelectAll_DataTable( string ConnectionString )

            {

                  return Persist.Categories.SelectAll_DataTable( ConnectionString);

            }

           

            public static DataTable SelectAll_DataTable( SqlConnection Connection )

            {

                  return Persist.Categories.SelectAll_DataTable( Connection);

            }

           

            public static DataTable SelectAll_DataTable( SqlTransaction Transaction )

            {

                  return Persist.Categories.SelectAll_DataTable( Transaction );

            }

           

            public static SqlDataReader SelectAll_DataReader( string ConnectionString )

            {

                  return Persist.Categories.SelectAll_DataReader( ConnectionString);

            }

           

            public static SqlDataReader SelectAll_DataReader( SqlConnection Connection )

            {

                  return Persist.Categories.SelectAll_DataReader( Connection);

            }

           

            public static SqlDataReader SelectAll_DataReader( SqlTransaction Transaction )

            {

                  return Persist.Categories.SelectAll_DataReader( Transaction );

            }

           

           

            public static DataSet SelectAll_DataSet( string ConnectionString )

            {

                  return Persist.Categories.SelectAll_DataSet( ConnectionString );

            }

           

            public static DataSet SelectAll_DataSet( SqlConnection Connection )

            {

                  return Persist.Categories.SelectAll_DataSet( Connection );

            }

           

            public static DataSet SelectAll_DataSet( SqlTransaction Transaction )

            {

                  return Persist.Categories.SelectAll_DataSet( Transaction );

            }

           

            #endregion

           

            #region Select Where Methods

                 

           

            public static DataTable SelectWhere_DataTable( string ConnectionString, string WhereClause  )

            {

                  return Persist.Categories.SelectWhere_DataTable( ConnectionString, WhereClause );

            }

           

            public static DataTable SelectWhere_DataTable( SqlConnection Connection, string WhereClause  )

            {

                  return Persist.Categories.SelectWhere_DataTable( Connection, WhereClause );

                 

            }

           

            public static DataTable SelectWhere_DataTable( SqlTransaction Transaction, string WhereClause  )

            {

                  return Persist.Categories.SelectWhere_DataTable( Transaction, WhereClause );

            }

           

           

           

            public static SqlDataReader SelectWhere_DataReader( SqlConnection Connection, string WhereClause  )

            {

                  return Persist.Categories.SelectWhere_DataReader( Connection, WhereClause );

            }

           

            public static SqlDataReader SelectWhere_DataReader( string ConnectionString, string WhereClause  )

            {

                  return Persist.Categories.SelectWhere_DataReader( ConnectionString, WhereClause );

            }

           

            public static SqlDataReader SelectWhere_DataReader( SqlTransaction Transaction, string WhereClause  )

            {

                  return Persist.Categories.SelectWhere_DataReader( Transaction , WhereClause );

            }

           

           

            public static DataSet SelectWhere_DataSet( string ConnectionString, string WhereClause  )

            {

                  return Persist.Categories.SelectWhere_DataSet( ConnectionString, WhereClause );

            }

           

            public static DataSet SelectWhere_DataSet( SqlConnection Connection, string WhereClause  )

            {

                  return Persist.Categories.SelectWhere_DataSet( Connection, WhereClause );

            }

           

            public static DataSet SelectWhere_DataSet( SqlTransaction Transaction, string WhereClause  )

            {

                  return Persist.Categories.SelectWhere_DataSet( Transaction, WhereClause );

            }

           

           

           

            #endregion

           

            #region Insert Methods

           

            public static bool Insert( string ConnectionString, out SqlInt32 CategoryIDOutput, SqlString CategoryName, SqlString Description, SqlBinary Picture  )

            {

           

                  return Persist.Categories.Insert( ConnectionString, out CategoryIDOutput, CategoryName, Description, Picture );

                 

            }

           

            public static bool Insert( SqlConnection Connection, out SqlInt32 CategoryIDOutput, SqlString CategoryName, SqlString Description, SqlBinary Picture  )

            {

           

                  return Persist.Categories.Insert( Connection, out CategoryIDOutput, CategoryName, Description, Picture );

                 

            }

           

            public static bool Insert( SqlTransaction Transaction, out SqlInt32 CategoryIDOutput, SqlString CategoryName, SqlString Description, SqlBinary Picture  )

            {

           

                  return Persist.Categories.Insert( Transaction, out CategoryIDOutput, CategoryName, Description, Picture );

                 

            }

            #endregion

           

            #region Update Methods

           

            public static bool Update( string ConnectionString, SqlInt32 CategoryID, SqlString CategoryName, SqlString Description, SqlBinary Picture  )

            {

                  return Persist.Categories.Update( ConnectionString, CategoryID, CategoryName, Description, Picture );

                 

            }

                       

            public static bool Update( SqlConnection Connection, SqlInt32 CategoryID, SqlString CategoryName, SqlString Description, SqlBinary Picture  )

            {

                  return Persist.Categories.Update( Connection, CategoryID, CategoryName, Description, Picture );

                 

            }

           

            public static bool Update( SqlTransaction Transaction, SqlInt32 CategoryID, SqlString CategoryName, SqlString Description, SqlBinary Picture  )

            {

                  return Persist.Categories.Update( Transaction, CategoryID, CategoryName, Description, Picture );

                 

            }

           

            #endregion

           

            #region Delete Methods

           

            public static bool Delete( string ConnectionString, SqlInt32 CategoryID  )

            {

                  return Persist.Categories.Delete( ConnectionString, CategoryID );

            }

           

            public static bool Delete( SqlTransaction Transaction, SqlInt32 CategoryID  )

            {

                  return Persist.Categories.Delete( Transaction, CategoryID );

            }

           

            public static bool Delete( SqlConnection Connection, SqlInt32 CategoryID  )

            {

                  return Persist.Categories.Delete( Connection, CategoryID );

            }

           

            #endregion

           

            #region Update DataSet

           

            public static void UpdateDataSet( DataSet StronglyTypedDataSet, string ConnectionString )

            {

                  Persist.Categories.UpdateDataSet( StronglyTypedDataSet, ConnectionString );

           

            }

           

            #endregion

           

            #endregion

           

            #region Null Value Support Methods 

           

            public void SetDescriptionNull()

            {

            _Description = SqlString.Null;

      }

   

      public bool IsDescriptionNull()

        {

            return _Description.IsNull;

        }

                 

            public void SetPictureNull()

            {

            _Picture = SqlBinary.Null;

      }

   

      public bool IsPictureNull()

        {

            return _Picture.IsNull;

        }

                 

                 

            #endregion

           

           

           

            #region Transport methods

           

            // Fills fields with data from a DataTable

            private void FillFromDataTable( DataTable data )

            {

                  // Fill fields

                  _CategoryID =  data.Rows[0]["CategoryID"] == System.DBNull.Value ? SqlInt32.Null : (int)data.Rows[0]["CategoryID"];

                  _CategoryName =  data.Rows[0]["CategoryName"] == System.DBNull.Value ? SqlString.Null : (string)data.Rows[0]["CategoryName"];

                  _Description =  data.Rows[0]["Description"] == System.DBNull.Value ? SqlString.Null : (string)data.Rows[0]["Description"];

                  _Picture =  data.Rows[0]["Picture"] == System.DBNull.Value ? SqlBinary.Null : (byte[])data.Rows[0]["Picture"];

                  }

           

            #endregion

           

            #region Class Property Declarations

            public SqlInt32 CategoryID

            {    

                  get{ return _CategoryID; }

                  set{ _CategoryID = value; }

            }

            public SqlString CategoryName

            {    

                  get{ return _CategoryName; }

                  set{ _CategoryName = value; }

            }

            public SqlString Description

            {    

                  get{ return _Description; }

                  set{ _Description = value; }

            }

            public SqlBinary Picture

            {    

                  get{ return _Picture; }

                  set{ _Picture = value; }

            }

            #endregion

 

      }

}