You are fetching the data from SQL server and again filtering it in the C# side. Why not move this hardcoded condition to stored procedure itself in the WHERE clause ??
WHERE ServiceLevel <> 'L2' AND ServiceRequestStatus <> 'Repaired'
This will decrease a lot of overhead if there are a large number of records that are to be filtered. You must be aware of how much records you are actually fetching before applying the condition above and how many do you really need.
Imagine you fetch 1 million records and you need only 100..
Records with this condition are fetched but not used.... Then why fetch
if ((Convert.ToString(reader["ServiceLevel"]) == "L2") && (Convert.ToString(reader["ServiceRequestStatus"]) == "Repaired"))
continue;