Skip to content

Image

A generic image class used across all entities (Estate, Department, Employee, Project, Phase, Building).

Location

docs/models/shared/Image.cs

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