I need help creating a payroll system that includes Weekly wages and annual salary

M. Segon 1 Reputation point

I need help creating this payroll system for an assessment for my computer class

It requires a C# code using Visual Studio 2019: Windows Form App (.NET Core)

All information for this task is included here:

Document and develop a computer program with a graphical user interface (GUI) that would allow a payroll clerk to calculate multiple employees’ pay i.e. enter data, perform calculations and output information. You need to allow for both managers (salaried workers) and general staff (weekly wage). No data is to be retrieved or stored in external files / databases.

Requirements for Application
• User needs to input first name, surname, either annual salary rate or weekly hours.
• Allow for multiple users
• Allow option for either salary (eg $50 000 per year) or weekly wage (eg 45 hours at $16 per hour).
• If weekly wage you need to allow for casual, part time or full time staff.
o Junior staff are under 18, otherwise get paid as an adult
o Casual staff do not get paid overtime. Rate is $12/hr if junior or $20/hr if adult. They are not allowed to work more than 12 hours a week.
o Part time staff work up to 15 hours per week then receive overtime rate of one and a half times their hourly rate. Junior rates are $9/hr, adult is $17/hr
o Full time staff work up to 40 hours per week then receive overtime rate of one and a half times their hourly rate. Junior rates are $9/hr, adult is $17/hr.
• Determine and use tax rates for 2021/22.
• Need to ensure superannuation at 9.5% and Medicare at 1.5% is taken out before tax is calculated.
• Output needs to have full name, weekly income, weekly tax paid, annual income and annual tax.

Thank you for your assistance! It really helps!

An object-oriented and type-safe programming language that has its roots in the C family of languages and includes support for component-oriented programming.
10,373 questions
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Karen Payne MVP 35,201 Reputation points

    First thing to do is figure out your database schema which fulfills business requirements. Next, create the database and tables along with setting up relations. Populate tables to allow writing SQL statements to validate that you can perform acts against business requirements.

    Now you can start coding and would recommend all data operations are not done in the user interface but instead are in classes which the user interface calls.

    Take time to refrain from creating the user interface and interact with the data, instead write out unit test and validate all operations can be performed. This way when (and it will) not writing unit test first something will not work right and now you need to figure out if it is a code problem, an external issue or something not configured properly in the user interface

    Sample design for a database which will not match your requirements but is a start to see what you need to do.


    I recommend using SQL-Server Express and SSMS (SQL-Server Management Studio) coupled with Entity Framework Core. Once the database is created and verified use a Visual Studio extension known as EF Power Tools to reverse engineer your database into classes/models.