Egov.Fod.ServiceComponents 10.0.3

Prefix Reserved
dotnet add package Egov.Fod.ServiceComponents --version 10.0.3
                    
NuGet\Install-Package Egov.Fod.ServiceComponents -Version 10.0.3
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Egov.Fod.ServiceComponents" Version="10.0.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Egov.Fod.ServiceComponents" Version="10.0.3" />
                    
Directory.Packages.props
<PackageReference Include="Egov.Fod.ServiceComponents" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Egov.Fod.ServiceComponents --version 10.0.3
                    
#r "nuget: Egov.Fod.ServiceComponents, 10.0.3"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Egov.Fod.ServiceComponents@10.0.3
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Egov.Fod.ServiceComponents&version=10.0.3
                    
Install as a Cake Addin
#tool nuget:?package=Egov.Fod.ServiceComponents&version=10.0.3
                    
Install as a Cake Tool

Fod.ServiceComponents

NuGet License: MIT

Blazor component library for FOD public service request workflows. Provides reusable wizard orchestration, requestor/beneficiary data collection, apostillation, delivery, payment, and document attachment components.

Features

  • Wizard orchestration — Step-based workflow engine with validation, save, and navigation
  • Requestor & Beneficiary — Data collection components for natural/legal persons
  • Apostillation — Country selection, pricing, date calculation, and availability checks with built-in caching
  • Attachments — Document upload and management components
  • Delivery & Reception — Delivery method selection and reception mode handling
  • Payment — Payment integration components
  • Confirmation — Order summary and confirmation step
  • Error handling — Resilient error handler with privacy filtering, queuing, and tracking
  • Localization — Built-in support for Romanian (ro) and Russian (ru)

Installation

dotnet add package Egov.FOD.ServiceComponents

Or via the NuGet Package Manager:

Install-Package Egov.FOD.ServiceComponents

Configuration

Register services in your Program.cs:

using Fod.ServiceComponents.Services;

builder.Services.AddApostillationServices();
builder.Services.AddMemoryCache();

Usage

Create a Wizard Step

public class RequestorStep : WizardStepBase
{
    public override string StepId => "requestor";
    public override string StepTitle => "Requestor Information";

    public override async Task<ValidationResult> ValidateAsync()
    {
        var result = new ValidationResult();
        if (string.IsNullOrEmpty(Model.Name))
            result.AddError("Name", "Name is required");
        return result;
    }

    public override async Task<SaveResult> SaveAsync()
    {
        return SaveResult.Successful(Model);
    }
}

Configure Wizard Steps

var steps = new List<WizardStep>
{
    new() { StepId = "requestor", Title = "Requestor", ComponentType = typeof(RequestorStep), Order = 1 },
    new() { StepId = "beneficiary", Title = "Beneficiary", ComponentType = typeof(BeneficiaryStep), Order = 2 },
    new() { StepId = "attachments", Title = "Documents", ComponentType = typeof(AttachmentsStep), Order = 3, IsOptional = true }
};

Use Cached Apostillation Service

// The CachedApostillationService wraps any IApostillationService with memory caching
builder.Services.AddSingleton<IApostillationService, CachedApostillationService>();

// Inject and use
@inject IApostillationService ApostillationService

var countries = await ApostillationService.GetCountriesAsync();

Key Interfaces

Interface Purpose
IWizardStep Contract for wizard step components
WizardStepBase Optional base class with common functionality
ValidationResult Validation outcome with error collection
SaveResult Save operation outcome with data/errors

Project Structure

Fod.ServiceComponents/          # Main Razor class library
Fod.ServiceComponents.Tests/    # Unit tests (xUnit + bUnit + Moq)
Fod.Services/                   # Service endpoints

Build & Test

# Restore
dotnet restore Fod.ServiceComponents.slnx

# Build
dotnet build Fod.ServiceComponents.slnx

# Run tests
dotnet test Fod.ServiceComponents.slnx

# Pack for NuGet
dotnet pack Fod.ServiceComponents/Fod.ServiceComponents.csproj -c Release

# Format code
dotnet format Fod.ServiceComponents.slnx

Requirements

Contributing

See CONTRIBUTING.md for guidelines.

License

This project is licensed under the MIT License — see the LICENSE file for details.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
10.0.3 111 4/15/2026