A FMS inspired by the Qatar Airways color palletes and its posters/visuals.
This Project consists of Two Projects:
- Aviate (Backend)
- FMS (UI)
To open the project in Visual Studio, open the Solution File in FMS project. It will connect to Aviate itself.
It's an End of Semester project for the course Database Design
. It uses Entity Framework Core as the ORM and LINQ (Language Integrated Query) for Database CRUD. UI is built using WinForms for .NET and an Open-Source UI Components Library ReaLTaiizor.
Some of the features of the projects are:
- Image Upload (See @"/Aviate/Utils/Imaging.cs").
- E-mailing for sign-up OTP (See @"/Aviate/Utils/Email.cs").
- Live Auditing of Actions on Database (See @"/Aviate/Services/NotficationPoolingService").
- Flight Rescheduling Notification to passengers (See @"/Aviate/Services/NotficationPoolingService").
- Application is majorly Asynchronous.
Set FMS project as the Starting Project.
[images/SetAsStartup.gif]
Screen Capture Using ShareX
Visual Studio is automatically going
to manage all of the listed dependencies
[/images/depts.png]
Otherwise install them manually one-by-one using Nuget Package Manager.
[/Images/Nuget.gif]
This Project uses an ORM Entity Framework Core to handle the database part. In my case, I connected to Oracle 11g database, but you can connect any to any database just change the settings in [@"Aviate/dbcontext/dbcontext.cs"] OnConfiguring functions and change the connection string and version accordingly.
To construct the Database take a look at Migrations in [@"Aviate/Migrations"]. Delete the migrations and create from scratch. Only the NotificationContext and AviateContext needs migrations.
Copy the following commands one-by-one and run them on Visual Studio - Package Manager Console
add-migration -Context NotificationContext AnyNameForMigration
add-migration -Context AviateContext AnyNameForMigration
Applying
update-database -Context NotificationContext
update-database -Context AviateContext
NOTE: If you are specifically working with Oracle 11g you are likely to get this error:
ORA-02000: missing ALWAYS keyword
Just remove a line in the migration file that adds **Always identity** to the id of the table. **(If you do this then you have to have a custom mechanism to assign ids to every record that you enter. I have it in the @"/Aviate/CRUD/CRUD.cs")**.
This Project is created by Shayan Zawar.