I very much agre with Roland but wanted to add some details to enlighten your decisions even further.
The C# feature of PowerBuilder 2019 is the option to write RESTful web APIs in C# running on .NET Core! You may reuse your DataWindow objects without modifications (modifications to the DataWindow objects).
PowerBuilder 2017 R3 can call RESTful web APIs much more easily than prior versions, but PB 2019 has even wider support.
SnapDevelop is an IDE to write C# code - albeit a tool that is designed by people understanding PowerBuilder.
PowerBuilder 2019 provides several options to manage data in the server-side C# code. One option is reusing the DataWindow objects "as is". To make this an even greater experience, Appeon designed the .NET API for this option to align with the PowerScript DataStore as much as possible.
You can therefore copy PowerScript code from PowerBuilder IDE to SnapDevelop (or your C# IDE of choice) - but you still have to massage it into C# code. For 15 years I have looked for automated conversion - I just haven't found it because PowerScript language has some utterly unique features. EX 1: Call Some-Ancestor::ue_MyEvent. EX 2: GOTO towards an outer scope.
There are other data management options that gradually depart from the DataWindow object moving towards a generic C#/.NET model though still benefiting from a higher performing ORM than .NET Entity Framework or similar.
NOTE - a word of caution: You actually rearchitect your physical app structure when you move code into server-side components accessed through web APIs. This is turning client/server into modern day distributed architecture leveraging modern-day open standards - and this *WILL* impact performance, reliability, and security. So you have to consider how you apply the new tools. You may end up shooting yourself in the foot if you convert code blindfolded.
HTH /Michael