using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Configuration; namespace Kit.Helpers { public interface IConfigurationService { public string ConnectionString { get; set; } public bool IsNotVerifyXsd { get; set; } public string CurrentFileVersion { get; set; } public string XsdDirectory { get; set; } public string TemplateFilePath { get; set; } public string FormsStorePath { get; set; } public string FileStorageRootFolder { get; set; } public string TempDirectory { get; set; } public int TaskLimit { get; set; } public int TaskTimeout { get; set; } public int TaskCancelWaitTime { get; set; } public int TimerInterval { get; set; } } public class ConfigurationService: IConfigurationService { public string ConnectionString { get; set; } public bool IsNotVerifyXsd { get; set; } public string CurrentFileVersion { get; set; } public string XsdDirectory { get; set; } public string TemplateFilePath { get; set; } public string FormsStorePath { get; set; } public string FileStorageRootFolder { get; set; } public string TempDirectory { get; set; } public int TaskLimit { get; set; } public int TaskTimeout { get; set; } public int TaskCancelWaitTime { get; set; } public int TimerInterval { get; set; } public ConfigurationService(IConfiguration configuration, IHttpContextAccessor contextAccessor) { HttpContext httpContext = contextAccessor.HttpContext; ConnectionString = configuration["ConnectionStrings:RiskDb"]; //Risk IsNotVerifyXsd = configuration["Risk:IsNotVerifyXSD"].TryParseToBool(false); CurrentFileVersion = configuration["Risk:FileVersion"]; XsdDirectory = configuration["Risk:XsdDirectory"].ServerMapPath(httpContext); TemplateFilePath = configuration["Risk:TemplateFilePath"].ServerMapPath(httpContext); FormsStorePath = configuration["Risk:FormsStorePath"].ServerMapPath(httpContext); FileStorageRootFolder = configuration["Risk:FileStorageRootFolder"].ServerMapPath(httpContext); TempDirectory = configuration["Risk:TempDirectory"].ServerMapPath(httpContext); //Task TaskLimit = configuration["Task:TaskLimit"].TryParseToInt32(4); TaskTimeout = configuration["Task:TaskTimeout"].TryParseToInt32(3600000); TaskCancelWaitTime = configuration["Task:TaskCancelWaitTime"].TryParseToInt32(10000); TimerInterval = configuration["Task:TimerInterval"].TryParseToInt32(5000); } } }