Hi Vikas,
Do you want to make it faster or just want not to have to block the UI thread? If this is your case you can use the Task.CreateNew to offload the work to a background thread. This allows your UI to keep working while the invoices are created.
Note that some care has to be taken to not let the user "click" multiple times the button while your method adds the invoices.
Note that I agree with A. Kerremans that the DI API is not thread safe, and splitting invoices to be created by multiple threads is not recommended.
Best regards,
Pedro Magueija