This project is a Real Estate Management Application built using WPF, C#, and .NET. It demonstrates core concepts of Object-Oriented Programming (OOP), dynamic binding, generics, serialization, and data management using Entity Framework and LINQ.
(Currently a very basic UI implementation)
-
Categories:
Residential, Commercial, InstitutionalBuilding Types:
Residential: Villa, Apartment, Townhouse
Commercial: Hotels, Shops, Warehouses, Factories
Institutional: Hospitals, Schools, UniversitiesLegal Forms:
Ownership, Tenement, Rental -
(Abstract classes later got changed due to the serialization etc..)
Interface IEstate and abstract class Estate
Abstract classes: Residential, Commercial, Institutional
Use of dynamic binding for runtime object creation -
Generic
IListManager<T>
interface andListManager<T>
implementation (possible to use in other projects)
EstateManager inheritsListManager<T>
-
JSON and XML serialization
-
Multi-layer architecture: PL (Presentation Layer), BLL (Business Logic Layer), DAL (Data Access Layer)
DTO Layer and Service Layer
Shared Models Library and Utilities library for shared functions -
Entity Framework for data storage and manipulation
LINQ for querying the database
-
.NET SDK (latest version)
-
SQL Server LocalDB (included with Visual Studio)
-
Entity Framework Core Tools
-
Clone the Repository:
git clone <repository-url>
cd <project-folder>
-
Install Dependencies:
dotnet restore
-
Set Up the Database
- Ensure
SQL Server LocalDB
is instealled. - Update the connection string in
EstateContext.cs
if needed
- Ensure
-
Apply Migration (In VS):
- If migrations are present:
(Package Manager Console)
Update-Database
- If not, create and apply migrations:
Add-Migration InitialCreate -Context EstateDataAccess
Update-Database
- If migrations are present:
-
Run the Application:
Improve UI/UX design
...