Homework #4

Homework #4 - Sales Person Calculator

Submit Assignment Download Runtime

Task:

  • Create a project to calculate the weekly salary and commission rate for a sales person based on their weekly sales. Provide a summary of the running totals of the weekly salary and commissions paid and an About Box.

Form: 

  • Ask for the Salesperson's name and their Weekly Sales (both required and sales must be numeric)
  • Include menu with options

    File (Pay, Summary - must be separate form, Exit)
    Edit (Clear)
    Help (About - must be separate form)
  • Include a Button for "Pay" that calls the Pay menu item event handler.

Code: 

  • Class
    •  Properties
      • An external class is required.
        • Properties for Name (must not be blank), Weekly Sales (must not be < 0)
        • Readonly properties for Commission and Pay
        • Readonly properties Total Sales, Total Commission, Total Pay 
      • Commission:
        • If Sales > Quota (250) then Commission = Sales * Commission Rate (20%) 
        • Else Commission = 0
      • Pay = Base Salary (500) + Commission
      • Total Sales/Commission/Pay should accumulate for ALL sales person's entered
    • Methods
      • Sub FindPay, Function CalculateCommission(SalesDecimal)
      • Both methods should be hidden 
    • Constructor
      • Overloaded to accept Name and Sales and should calculate Pay on instantiation
  • Form
    • Verify a name was entered
    • Verify sales amount entered is numeric
    • Pay should instantiate an object and calculate and display Pay.
    • Summary should open in separate form. Display total sales, commissions, pay for all sales persons entered.  
      • MUST be opened Modelessly and updated on Form Activation
    • About should open separate form
      • MUST be opened Modally
    • Exit should close the program 

For Full Credit:

  • Program must be well documented and controls well named according to standards.
  • Data must be validated and formatted appropriately
  • NO Autoimplemented properties
  • Results must match Runtime answers
  • All items in Code section above must be completed