Skip to main content

Employee Application Layer

Summary​

The Application layer coordinates Employee and Organization use cases through custom CQRS handlers, legacy-style application services, repository/search ports, validators, DTOs, mappings, audit recording, tenant context, and a unit of work.

Audience​

  • Backend developers
  • QA engineers and solution architects

Reference Content​

Commands and handlers​

Typed command records and scoped handlers cover employee creation/update, status, department, manager, notes, and document-reference changes. Handlers validate, load aggregates through ports, invoke domain behavior, record audit information, commit through the unit of work, and return a lightweight result type.

Queries and handlers​

Typed queries and scoped handlers cover employee lookup, search, timeline, department listing, and designation listing. Read paths use projections or no-tracking queries and do not raise domain events.

Parallel application-service surface​

EmployeeCommands and EmployeeQueries implement an earlier/direct application-service style alongside the newer typed CQRS handlers. DepartmentService and DesignationService coordinate organization use cases. The coexistence is source-confirmed and transitional; consolidation direction Requires confirmation.

DTOs and mapping​

Application DTOs represent employee core data, profile collections, employment state, timeline entries, notes, document metadata, departments, and designations. EmployeeMappings converts domain objects to responses and search hits to list items. A second internal mapping helper exists in Employees.cs, creating some duplication.

Validation​

Async validators perform tenant, required-field, uniqueness, and cross-entity checks before typed command handlers mutate aggregates. Domain value objects and aggregate methods perform invariant validation. No implemented reusable pipeline behavior automatically invokes validators.

Application ports​

Confirmed ports include repositories, employee search, audit writer, unit of work, and tenant context. Infrastructure supplies their runtime implementations.

Source References​

  • microservices/src/employee-service/Application/Common/Cqrs.cs
  • microservices/src/employee-service/Application/Common/Abstractions.cs
  • microservices/src/employee-service/Application/Commands/EmployeeApplicationCommands.cs
  • microservices/src/employee-service/Application/Queries/EmployeeApplicationQueries.cs
  • microservices/src/employee-service/Application/Employees/Employees.cs
  • microservices/src/employee-service/Application/Mappings/EmployeeMappings.cs
  • microservices/src/employee-service/Application/Validators/EmployeeCommandValidators.cs

See Also​

Keywords​

  • Use-case coordination
  • Command handler
  • Query projection

Revision Information​

  • Status: Draft
  • Last reviewed: 2026-07-15
  • Review cycle: Quarterly