Вы можете использовать DBNull.Value, когда вам нужно передать NULL в качестве параметра хранимой процедуре.
param.Value = DBNull.Value;
Или вы можете использовать это вместо вашего if
оператора:
param.Value = !string.IsNullOrEmpty(activity.StaffId) ? activity.StaffId : (object)DBNull.Value;