public void Apply(IServiceProvider serviceProvider) { var settings = serviceProvider.GetService <IOptions <Settings> >().Value; if (Host.HasValue()) { settings.Admin.Host = Host.Value(); } if (OutputFolder.HasValue()) { settings.OutputFolder = OutputFolder.Value(); } if (Port.HasValue()) { settings.Admin.Port = int.Parse(Port.Value()); } settings.DryRun = DryRun.HasValue(); if (InputFolder.HasValue()) { settings.InputFolder = InputFolder.Value(); } }
public ExitCode?Validate() { if (!Host.HasValue()) { return(ExitCode.MissingHost); } if (!Port.HasValue()) { return(ExitCode.MissingPort); } if (!int.TryParse(Port.Value(), out var port) || port > MaxPort || port < MinPort) { return(ExitCode.InvalidPort); } if (InputFolder.HasValue() && OutputFolder.HasValue()) { return(ExitCode.IncompatibleArguments); } if (!InputFolder.HasValue() && !OutputFolder.HasValue()) { return(ExitCode.IncompatibleArguments); } return(null); }