User Rights Maintenance
The attached simple C# project needs to be finished. Since it'll be used for max number of 10-15 users, the entries should be stored in an encrypted ASCII file. Read it once, decrypt it, fill a record per user in a container, work with it, append/delete and later encrypt and write back. It's only one key field: and it shouldn't be case sensitive. The same holds for the "password" field.
The API should have:
**[login to view URL]()**
load previously stored usernames from an encrypted ascii file "[login to view URL]"
( the encryption method and the file format are your free choice )
The location of "[login to view URL]" should be at: [login to view URL] + "\DATA\" if such a file is not found, or is empty, create a new one with a default user: username: supervisor password: s1s2s3 userlevel: 6
**[login to view URL]()**
when called, a "username" "password" dialogue should return in case the combination is known i.e. stored in "[login to view URL]"
**[login to view URL]**
this is the variable which holds the level of the currently logged user, with the [login to view URL]()
-1 is initial value.
**[login to view URL]()**
show this form only after successful [login to view URL](), for users with UserGroupLevel = supervisor ( the 6th level )
**The fields:**
All text fields are self-explanatory. The username field is a combobox. It should be filled with all the user names stored in [login to view URL], within the init() routine. Changes of the pointed element in the Combobox should populate the rest of the fields with the appropriate values. Ignore the "retype password" field. Use only the "password" field. It's a normal text field. Visible characters. No "*****" or similar. However the [login to view URL]() dialog should use a "*" masked entry field. When storing the UserLevel, better store the position of the combobox element rather than the content. Do not pay any attention on the Fonts, sizes, control positions etc. It'll be changed anyway.
## Deliverables
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. 2) Installation package that will install the software (in ready-to-run condition) on the platform(s) specified in this bid request. 3) Complete ownership and distribution copyrights to all work purchased.
## Platform
Windows all