1. Homepage
  2. Programming
  3. Assignment: Abstract Classes, Event Driven Applications and Exception Handling

Assignment: Abstract Classes, Event Driven Applications and Exception Handling

Contact Us On WeChat
C#CSharp.NET MAUICanadaSouthern Alberta Institute of Technology

Assignment: Abstract Classes, Event Driven Applications and Exception Handling


A local travel agency, Traveless, has hired your company to implement a new flight reservation management system to improve its productivity and services. After meeting with the agency, you realize that to tackle this complex request, you must break down the solution to three major parts:

·       Front-end GUI CourseNana.COM

·       Backend CourseNana.COM

·       Functional front end connected to the backend CourseNana.COM

Equipment and Materials

For this assignment, you will need: CourseNana.COM

·       Visual Studio IDE CourseNana.COM

·       Supplied data files: CourseNana.COM

o   flights.csv CourseNana.COM

o   airports.csv CourseNana.COM


1.      Review the scenario, and then carefully read the Traveless program Details and Program Guidelines sections of this document. CourseNana.COM

2.      Working outside of class time, complete the submission sections of this assignment. CourseNana.COM

3.      Review the grading criteria for the group submissions. CourseNana.COM

4.      See the course schedule and/or Brightspace for due dates. CourseNana.COM


Submission CourseNana.COM

1.      Create the code for a program that meets the requirements described bellow. CourseNana.COM

2.      Test your code against the expected output provided. CourseNana.COM

3.      Check your program against the detailed marking criteria at the end of this document. CourseNana.COM

4.      Submit the following to Brightspace as a group (Only one copy is required per group, and any of the group members may submit): CourseNana.COM

·     Github URL for your program code (invite your instructor to be a member of the project repository) CourseNana.COM

·     A copy of the test output (.txt file) CourseNana.COM

Peer Assessment (5%) CourseNana.COM

Each student must also complete a peer assessment of their group members. Your instructor will provide further submission details.

Program Details

Create a functional, event-driven program that manages the travel agency’s data (contained in the provided data files) and allows a user to do the following: CourseNana.COM

·     Find flights CourseNana.COM

o  A travel agent can find a flight by providing the origin airport, the destination airport and the day of the week the flight departs. CourseNana.COM

·     Make a reservation CourseNana.COM

o  A travel agent can make a flight reservation for a traveller. CourseNana.COM

o  A reservation code is generated and assigned to the traveller’s name and citizenship. CourseNana.COM

·     Find reservations CourseNana.COM

o  A travel agent can find existing flight reservations using the reservation code, and/or the airline and/or the traveller’s name. CourseNana.COM

·     Modify an existing reservation CourseNana.COM

o  A travel agent can update the traveller’s name and citizenship. CourseNana.COM

o  An existing flight reservation can be soft-deleted, marking it as inactive and freeing up a seat on the flight. CourseNana.COM


Detailed Requirements

When the graphical user interface is launched, the user can choose to either search flights and make a reservation, or search for and modify a reservation. CourseNana.COM

Find Flights

The findFlights method receives as its input arguments: the originating airport, the destination airport, and the day of week. The method returns an List of any matching Flight objects. If no matches are found, the list control is empty. CourseNana.COM

Make Reservation

When a travel agent selects a flight from the list, the text fields are populated with the selected flight code, airline, day, time and cost. The travel agent enters the traveller’s full name and citizenship. The flight code, airline, day, time and cost cannot be edited. An error message is displayed if: CourseNana.COM

·       A reservation is to be made but no flight is selected CourseNana.COM

·       The name field is empty CourseNana.COM

·       The citizenship field is empty CourseNana.COM

The makeReservation method receives as its input arguments: a Flight object, the travelers name and citizenship. An exception is thrown if the flight is completely booked, or the flight is null, or the name is empty/null, or the citizenship is empty/null. If there are no exceptions thrown a Reservation object is created, saved to the binary file and returned by the method. CourseNana.COM

Find Reservations

A travel agent can search for an existing reservation that contains the specified reservation code, and/or airline and/or traveller’s full name. The list is populated with any reservations that are found. Each row in the list displays the code of the corresponding reservation record. CourseNana.COM

The findReservation method receives as its input arguments: reservation code, airline and/or traveler’s full name. The method returns a list of matching Reservation objects. If no matches are found, the list control is empty. If the user doesn’t enter any input, then all the reservations are displayed in the list. CourseNana.COM

Update Reservation

When a reservation in the list generated by the findReservation method is selected, the corresponding fields are populated, displaying the following information: CourseNana.COM

·       Reservation code CourseNana.COM

·       Flight code CourseNana.COM

·       Airline name CourseNana.COM

·       Cost CourseNana.COM

·       Name CourseNana.COM

·       Citizenship CourseNana.COM

·       Status (active or inactive) CourseNana.COM

The only fields that can be edited are the name, citizenship and status. None of the other fields can be modified in any way by the user. After the travel agent has made changes to the reservation, they click the Update button. The mutator methods in the Reservation object are called and an error is displayed if an exception occurs. CourseNana.COM

The persist method in the ReservationManager class saves all Reservation objects to a binary file on the hard drive. CourseNana.COM

Notes CourseNana.COM

·       The ReservationManager class generates the reservation code. CourseNana.COM

·       Each reservation is for one seat only. CourseNana.COM

·       The name and citizenship do not need to follow any specific format; however, they cannot be empty. CourseNana.COM

·       Each problem domain class overrides the toString() method. CourseNana.COM

·       Flight codes use the following format: (L meaning letter, D meaning digit) CourseNana.COM

o   LL-DDDD (e.g.: GA-1234) CourseNana.COM

·       Reservation codes use the following format: (L meaning Letter, D meaning Digit) CourseNana.COM

o   LDDDD (e.g., I1234) CourseNana.COM

·       Times are in 24-hour format: HH:MM CourseNana.COM

·       A reservation that is set to inactive is persisted and retained when the program opens again. CourseNana.COM


Expected Output

First page: CourseNana.COM


Second page: CourseNana.COM


After searching for the flights and selecting a flight: CourseNana.COM


Third page: CourseNana.COM



Get Expert Help On This Assignment

Scan above qrcode with Wechat

C#代写,CSharp代写,.NET MAUI代写,Canada代写,Southern Alberta Institute of Technology代写,C#代编,CSharp代编,.NET MAUI代编,Canada代编,Southern Alberta Institute of Technology代编,C#代考,CSharp代考,.NET MAUI代考,Canada代考,Southern Alberta Institute of Technology代考,C#help,CSharphelp,.NET MAUIhelp,Canadahelp,Southern Alberta Institute of Technologyhelp,C#作业代写,CSharp作业代写,.NET MAUI作业代写,Canada作业代写,Southern Alberta Institute of Technology作业代写,C#编程代写,CSharp编程代写,.NET MAUI编程代写,Canada编程代写,Southern Alberta Institute of Technology编程代写,C#programming help,CSharpprogramming help,.NET MAUIprogramming help,Canadaprogramming help,Southern Alberta Institute of Technologyprogramming help,C#assignment help,CSharpassignment help,.NET MAUIassignment help,Canadaassignment help,Southern Alberta Institute of Technologyassignment help,C#solution,CSharpsolution,.NET MAUIsolution,Canadasolution,Southern Alberta Institute of Technologysolution,