Image
A generic image class used across all entities (Estate, Department, Employee, Project, Phase, Building).
Location
Properties
| Property | Type | Description | Example |
|---|---|---|---|
Id |
string |
Unique identifier for the image | "IMG-001", "PHOTO-123" |
OriginalUrl |
string |
URL to the original/full-size image | "https://cdn.example.com/image.jpg" |
Filename |
string |
Filename of the image | "facade-front.jpg", "profile-photo.jpg" |
FileExtension |
string |
File extension (without dot) | "jpg", "png", "webp" |
ExternalProviderUrl |
string |
URL to external provider/CDN | "https://provider.com/image" |
Caption |
string |
Image caption/title | "View from the south", "Profile photo 2024" |
AltText |
string |
Alt text for accessibility | "Modern apartment facade", "Professional headshot" |
Category |
string |
Image category/type (context-dependent) | See categories below |
Order |
int |
Display order | 1, 2, 3 |
Width |
int |
Image width in pixels | 1920 |
Height |
int |
Image height in pixels | 1080 |
LastModifiedOrigin |
DateTime |
When this image was last updated in the origin system | 2025-10-28T14:39:00Z |
LastModifiedLocal |
DateTime |
When this image was last updated locally in Destinet | 2025-10-28T15:30:00Z |
Usage Examples
Estate
estate.Images.Add(new Image
{
Id = "IMG-001",
OriginalUrl = "https://cdn.example.com/facade.jpg",
Filename = "facade-front.jpg",
FileExtension = "jpg",
Caption = "Main entrance from street view",
AltText = "Modern apartment building with glass balconies",
Category = "Facade",
Order = 1,
Width = 1920,
Height = 1080
});
Department
department.Images.Add(new Image
{
Id = "OFF-001",
OriginalUrl = "https://cdn.example.com/office.jpg",
Filename = "office-facade.jpg",
FileExtension = "jpg",
Caption = "Office exterior, summer 2025",
AltText = "Modern office building in Trondheim",
Category = "Office Facade",
Order = 1,
Width = 1920,
Height = 1080,
LastModifiedOrigin = DateTime.Parse("2025-10-25"),
LastModifiedLocal = DateTime.Parse("2025-10-25T10:30:00Z")
});
Employee
employee.Images.Add(new Image
{
Id = "PHOTO-001",
OriginalUrl = "https://cdn.example.com/employee-profile.jpg",
Filename = "karianne-profile.jpg",
FileExtension = "jpg",
Caption = "Profile Photo 2024",
AltText = "Professional headshot of Karianne Jensen",
Category = "Profile Photo",
Order = 1,
Width = 800,
Height = 800,
LastModifiedOrigin = DateTime.Parse("2025-10-25"),
LastModifiedLocal = DateTime.Parse("2025-10-25T10:30:00Z")
});
Project / Phase / Building
project.Images.Add(new Image
{
Id = "RENDER-001",
OriginalUrl = "https://cdn.example.com/rendering.jpg",
Filename = "project-rendering.jpg",
FileExtension = "jpg",
Caption = "Artist's rendering of completed project",
AltText = "3D rendering showing apartment complex from street level",
Category = "Rendering",
Order = 1,
Width = 2560,
Height = 1440,
LastModifiedOrigin = DateTime.Parse("2025-10-25"),
LastModifiedLocal = DateTime.Parse("2025-10-25T10:30:00Z")
});
Common Categories by Entity
Estate Categories
- Facade - Building exterior
- Interior - General interior shots
- Kitchen - Kitchen photos
- Bathroom - Bathroom photos
- Bedroom - Bedroom photos
- Living Room - Living room photos
- Floor Plan - Floor plan images
- Aerial - Aerial/drone photography
- Neighborhood - Surrounding area
Department Categories
- Office Facade - Office building exterior
- Office Interior - Interior office spaces
- Team Photo - Group photos of employees/staff
- Reception - Reception area photos
- Meeting Room - Meeting room photos
Employee Categories
- Profile Photo - Professional headshot
- Signature Image - Digital signature
- Award Photo - Awards and recognition photos
- Action Photo - Photos of employee at work
Project / Phase / Building Categories
- Rendering - 3D renderings of completed project
- Site Plan - Site layout and planning images
- Construction Progress - Construction phase photos
- Amenities - Common area and amenity photos
- Model Unit - Show unit/model apartment photos
Used By
- Estate - Property images
- Department - Office and facility images
- Employee - Profile and professional images
- Project - Project-level marketing images
- Phase - Phase-specific images
- Building - Building-specific images
Design Note
The Image class is intentionally generic to support all use cases across the system. The Category field provides flexibility to categorize images appropriately based on context, eliminating the need for separate PropertyImage, DepartmentImage, EmployeeImage classes.
Download
- Download Image.cs - Complete C# source code