public class EditEmailSettingsCommandHandler : ICommandHandler<EditEmailSettingsCommand>
{
private readonly IConfigurator<SmtpEmailSettings> _configurator;
public EditEmailSettingsCommandHandler(IConfigurator<SmtpEmailSettings> configurator)
=> _configurator = configurator;
public Task HandleAsync(EditEmailSettingsCommand command)
{
// Configure settings by command data.
_configurator.Configure(settings =>
{
settings.Host = command.Host;
settings.Port = command.Port;
});
}
}
Simple settings modification mechanism out of the box is one of the most distinguishing features from the Microsoft Options pattern.