You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

The system follows a microservices architecture with clear separation of concerns:





1.    EGU.PartnerPortal.Web - Blazor WebAssembly frontend
2.    EGU.PartnerPortal.ApiService - Core business API
3.    EGU.PartnerPortal.IntegrationServiceAPI - External system integration
4.    EGU.PartnerPortal.AppHost - .NET Aspire orchestration
5.    EGU.PartnerPortal.Shared - Common utilities and DTOs
6.    EGU.PartnerPortal.ServiceDefaults - Shared service configurations



Service-Oriented Architecture

  • Layer Structure

┌─────────────────┐
│  Presentation   │ ← Blazor Components, Pages
├─────────────────┤
│   Application   │ ← Controllers, API Services
├─────────────────┤
│    Business     │ ← Validation, Mapping, Domain Logic
├─────────────────┤
│  Data Access    │ ← Entity Framework, DbContext
├─────────────────┤
│   Integration   │ ← External API Services, SOAP
└─────────────────┘


  • Dependency Injection Pattern


// Service Registration Example (Program.cs)
builder.Services.AddScoped<IWorkOrderApiService, WorkOrderApiService>();
builder.Services.AddScoped<IWorkOrderValidationService, WorkOrderValidationService>();
builder.Services.AddScoped<IWorkOrderMapperService, WorkOrderMapperService>();


  • Project Structure


Services/
├── WorkOrder/
│   ├── ApiServices/
│   │   ├── WorkOrderApiService.cs
│   │   └── Interfaces/
│   │       └── IWorkOrderApiService.cs
│   ├── ValidationServices/
│   │   ├── WorkOrderValidationService.cs
│   │   └── Interfaces/
│   │       └── IWorkOrderValidationService.cs
│   └── MapperServices/
│       ├── WorkOrderMapperService.cs
│       └── Interfaces/
│           └── IWorkOrderMapperService.cs




  • No labels