@this (Nicely done and I am glad I was headed in the right direction. Didn't pick up that there was a separate OrderLineItems table, I thought that OrderLineItems was just a field in the RefundLineItems table and that's why Mat is talking about them not being easy to link at the line level. Still waiting for more details to emerge but nice take on the problem.)
I'm going to stop flailing haha, I apologize for not understanding your current situation well enough to help even though you described it in medium detail already
That's probably hopelessly off base but maybe if you show us your existing join criteria that might help? You probably already stated them and I didn't understand.
@MathieuGuindon Just signed in to see if I had any follow-up comments on a self-answered C# question and I immediately saw you helping people with VBA. Thanks for continuing to be such a wonderful presence in the community :)
I will also, of course, consider a more typical WPF architecture, but I'm first trying to make sure I understand how Tasks and Async/Await apply to the existing architecture.
@M.Doerner Thanks for all your feedback! Yes, Landing is a window that is closed after the user selects an initial option and is re-opened if they cancel their initial selection. I'm going to look into what you told me about explicit shutdown and see if that would be the best solution as far as allowing tasks to continue to run asynchronously without waiting on them.
@M.Doerner I have to wait for a task to finish because otherwise the program finishes executing and exits before it returns. I invoke them via Task.Run(() => )
Read your thread, misspoke in calling my program a console app because I don't use a console. What I actually meant is that all the work is being done largely independently of any kind of graphical interaction.
Right now I'm trying to follow up on what you two told me today by finding the very first command after the GUI is done (except the progress bar) and Tasking out from there instead.
In my memory, when I kicked off the ParallelFileProcessing without awaiting, it gave control back to the caller, Main() basically, and the program ended.