Depending on the SQL Version you are using you can insert multiple records but you would need to change the way you are passing your values to the Stored Procedure.
To insert multiple values (requires SQL 2008 or later);
INSERT INTO MyTable
(FieldNameA, FieldNameB)
VALUES
('Row1Value1', 'Row1Value2'),('Row2Value1', 'Row2Value2')
To achieve this though you would need to pass strings to your Stored procedure and then split the values out - reasonably efficient as it requires a single round trip to the SQL Server.
Alternatively you would need to use 2 stored procedures. The first returns your new Order Id and the second inserts each Order Line as a single record and is called multiple times within your loop
Kind Regards