You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Connected.Framework/Connected.Services/IArgumentValueProvider.cs

24 lines
1.1 KiB

2 years ago
namespace Connected.Services;
/// <summary>
/// Middleware representing opportunity to set or modify values on the <see cref="IDto"/> objects.
/// </summary>
/// <remarks>
/// Some arguments provide properties that are not mandatory by the caller but must be set before
/// the operation is executed. This Middleware is called before the Validation phase occurs.
/// </remarks>
/// <example>
/// Serial value of the Stock item is not provided by the client but is needed before the goods can be
/// stored in the stock. The platform expects that a process will provide it before the Validation
/// occurs. Depending of the process implementation, it can create a new Serial or use existing one.
/// </example>
/// <typeparam name="TArgs">The type of the arguments to be used by the middleware.</typeparam>
public interface IArgumentValueProvider<TArgs> : IMiddleware
where TArgs : IDto
{
/// <summary>
/// This method gets called by the platform at the time when the values should be provided.
/// </summary>
/// <param name="args">The arguments instance on which values can be provided.</param>
Task Invoke(TArgs args);
}