VEU.WathBody/3-app/1-lib/Kit.Helpers/Service/ConfigurationService.cs

59 lines
2.7 KiB
C#

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);
}
}
}