Connected.Common/Common.Numbering/DefaultProvider.cs
2022-12-07 14:05:43 +01:00

24 lines
540 B
C#

using Connected.Annotations;
using Connected.Middleware;
namespace Common.Numbering;
[Priority(0)]
internal sealed class DefaultProvider : MiddlewareComponent, INumberingProvider
{
public DefaultProvider(INumberingService numbering)
{
Numbering = numbering;
}
private INumberingService Numbering { get; }
public async Task<string> Invoke(NumberingCalculateArgs args)
{
if (Numbering is not NumberingService service)
throw new InvalidCastException(nameof(NumberingService));
return await service.NextValue(args);
}
}