public static DataTable Search(clsPrograms objPrograms)
    {
        String strSQL = "EXEC dbo.xp_Search";

        if ((objPrograms.strName == null) && (objPrograms.strPlatform == null))
        {
            strSQL = "EXEC dbo.xp_Search";
        }
        else if ((objPrograms.strName == null) && (objPrograms.strPlatform != null))
        {
            strSQL = "EXEC dbo.xp_Search NULL, '%" + objPrograms.strPlatform + "%'";
        }
        else if ((objPrograms.strName != null) && (objPrograms.strPlatform == null))
        {
            strSQL = "EXEC dbo.xp_Search '%" + objPrograms.strName + "%', NULL";
        }
        else if ((objPrograms.strName != null) && (objPrograms.strPlatform != null))
        {
            strSQL = "EXEC dbo.xp_Search '%" + objPrograms.strName + "%', '%" + objPrograms.strPlatform + "%'";
        }

        clsDBMS objDBMS = new clsDBMS();

        return(objDBMS.ExecuteSelectSQL(strSQL));
    }
    protected void btnUpdate_Click(object sender, EventArgs e)
    {
        Int64 intMinID, intMaxID;

        clsPrograms objPrograms = new clsPrograms();
        clsDBMS     objDBMS     = new clsDBMS();

        intMinID = Convert.ToInt64(txtMinID.Text);
        intMaxID = Convert.ToInt64(txtMaxID.Text);
        objPrograms.strAddress = txtAddress.Text;

        if (intMinID < intMaxID)
        {
            clsProgramsManager.PackAddress(objPrograms, txtMinID.Text, txtMaxID.Text);

            dgridShowData.DataSource = clsProgramsManager.Select();
            dgridShowData.DataBind();

            txtMinID.Text   = "";
            txtMaxID.Text   = "";
            txtAddress.Text = "";

            lblMessage.Text = "Programs address successfully updated in database.";
        }
        else
        {
            lblMessage.Text = "Min ID must be smaller than of Max ID.";
        }
    }
    public static DataTable Select()
    {
        String strSQL = "EXEC dbo.xp_Search";

        clsDBMS objDBMS = new clsDBMS();

        return(objDBMS.ExecuteSelectSQL(strSQL));
    }
    public static void PackAddress(clsPrograms objPrograms, String strMinID, String strMaxID)
    {
        String strSQL = "EXEC dbo.xp_PackAddress " + strMinID + ", " + strMaxID + ", '" + objPrograms.strAddress + "'";

        clsDBMS objDBMS = new clsDBMS();

        objDBMS.ExecuteSQL(strSQL);
    }
    public static void Delete(clsPrograms objPrograms)
    {
        String strSQL = "EXEC dbo.xp_Delete " + objPrograms.strID + "";

        clsDBMS objDBMS = new clsDBMS();

        objDBMS.ExecuteSQL(strSQL);
    }
    public static void Update(clsPrograms objPrograms)
    {
        String strSQL = "EXEC dbo.xp_Update " + objPrograms.strID + ", '" + objPrograms.strName + "', '" + objPrograms.strVersion + "', '" + objPrograms.strCatName + "', '" + objPrograms.strAddress + "', '" + objPrograms.strCrackType + "', '" + objPrograms.strSerialNo + "', '" + objPrograms.strPlatform + "'";

        clsDBMS objDBMS = new clsDBMS();

        objDBMS.ExecuteSQL(strSQL);
    }
    public static String Counter()
    {
        String strSQL = "EXEC dbo.xp_Counter";

        clsDBMS   objDBMS       = new clsDBMS();
        DataTable objProgsCount = new DataTable();

        objProgsCount = objDBMS.ExecuteSelectSQL(strSQL);

        return(objProgsCount.Rows[0][0].ToString());
    }
    public static DataTable Select()
    {
        try
        {
            String strSQL = "SELECT * FROM tblCategories;";

            clsDBMS objDBMS = new clsDBMS();

            return(objDBMS.ExecuteSelectSQL(strSQL));
        }
        catch (Exception ex)
        {
            throw new Exception(clsUtilities.GetErr(ex.Message.ToString()));
        }
    }