Look at the error message:
an unhandled exception of type 'system.argumentexception' occurred in mscorlib.dll additional information: empty path name is not legal.
The bit on the end is pretty clear: it needs a valid path to a file and you aren't providing one. But we can't tell what you are trying to pass - we can't run your code under the same conditions you can.
So, its going to be up to you.
Put a breakpoint on the first line in the function, and run your code through the debugger. Then look at your code, and at your data and work out what should happen manually. Then single step each line checking that what you expected to happen is exactly what did. When it isn't, that's when you have a problem, and you can back-track (or run it again and look more closely) to find out why.
Sorry, but we can't do that for you - time for you to learn a new (and very, very useful) skill: debugging!