1) run sql stored procedure để validate true-false

 int StatusCode = -1;
          
SqlConnection db = new SqlConnection(ConnectionString);
try
{
    db.Open();
    SqlCommand ins = new SqlCommand("CheckDeleteJobHasPurchaseOrders", db);
    ins.CommandType = CommandType.StoredProcedure;
    ins.Parameters.AddWithValue("@Jobs_Id", Jobs_Id);    
    
    SqlParameter outParam = new SqlParameter();
    outParam.ParameterName = "@StatusCode";
    outParam.Direction = ParameterDirection.Output;
    outParam.DbType = DbType.Int32;
    ins.Parameters.Add(outParam);              

    ins.ExecuteNonQuery();

    return Utils.myCBool(ins.Parameters["@StatusCode"].Value);
}
catch (Exception ex)
{               
    StatusCode = 0;             
}
finally
{
    db.Close();
}
ALTER PROCEDURE [dbo].[Pipeline_Product_CheckDeleteStyleFromProductIsValid] 
	(	
	
	@DeleteID INT OUTPUT, @StatusMessage VARCHAR(8000) OUTPUT)
AS
BEGIN
 				SET @DeleteID = 0;
			SET @StatusMessage += 'Could not delete Product to Style assignment due to it being used on BOM Logic Rule Action(s)<br/ >';
	END

END

2) Timeout của dự án

-page event timeout

  Page.Server.ScriptTimeout = Pipeline.Core.SystemSettings.GetAppSettingsValue("PageLevelExecutionTimeout")

-system timeout

-sql command timeout

3) ƯU TIÊN XỬ LÝ CODE HƠN LẦ VIẾT STORED Procedure