I have a following scenario: multiple windows client apps (C#, occasionaly offline app) with SQL Server express, and a central web app (ASP.NET) with SQL Server standard. I need to sync clients db with central db, however some client tables need to be bi-directionaly synced completely with server, but some tables from client need to be bi-directionaly synced in a way, e.g. where rows from client table, need to be located in the same table on the server but with client_id column of the client (i.e., table which aggregates client rows). Also, it would be good that client from the app see sync results and some kind of a progress.
What is the best tech stack/architecture for this challenging problem ?