My friend and I are planning on working on a cloud based internet cafe timer / billing software. The pricing, client settings, and cashier are done using a Web app which is not included in my scope. Mainly this stack exchange will focus on Client Desktop application to be developed using C# WPF and C# WCF service
I am a software engineer in a company but I am mainly working with Embedded systems panel side using C++. The company has its own Framework which is based on MVC. I have developed small scale Java SWING application before but C# WCF and C# WPF is a new technology which I will be learning.
We will be working with this project with an Initial plan of 1 year which includes my learning phase of C# WPF and C# WCF. The minimum requirements of the desktop app are the following:
- Be able to show a maximized GUI that disables windows hotkeys like Ctrl + alt + delete, windows + l , windows + tab which serves as lock screen
- User account login
- Be able to show a minimized GUI when there is successful login
Deduct client balance over time
Be able to show item 1 (lock screen), when there is insufficient balance
QUESTIONS AND CONCERNS
What is an efficient way to do user account checking? Should the logic of user account checking be done on windows service? or should the logic of the user account checking be done on windows desktop process?
To further explain this behavior. Windows service is responsible for fetching data to and fro database server. My initial thought is that Windows service will also do the checking of user account if valid or invalid then pass data over an interface to the Desktop application which will change state from Maximized to Minimize state.
Are there any performance Issues if I am to implement a state machine like behavior on the Desktop Application side?
I have mentioned in requirements above that the application will have a maximized state which will disable windows hot keys and a minimized window when there is successful login and remaining balance. Both of these behavior will be implemented as a state machine using C# WPF which I am not sure how to implement and if it is possible.
What books / reference will you recommend for WCF and WPF?