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.
24 lines
1.1 KiB
24 lines
1.1 KiB
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);
|
|
}
|