private DateTimeOffset DetermineExpirationDate(Match match) { int hoursToAdd; //the severity is either a pre-set "low medium high", or a value in hours or days. //first, check if group 2 is used. if so, that means it's a hours/days value if (match.Groups[2].Success) { var valueToAdd = match.Groups[2].Value.Parse <int>(); //now check group 3 for hours or days if (match.Groups[3].Value.ToLower().StartsWith("hour")) { hoursToAdd = valueToAdd; } else { hoursToAdd = valueToAdd * 24; } } else { //this is a preset value switch (match.Groups[1].Value.ToLower()) { case "low": hoursToAdd = SettingsAccessor.GetSetting <int>("LowExpirationHours"); break; case "medium": hoursToAdd = SettingsAccessor.GetSetting <int>("MediumExpirationHours"); break; case "high": hoursToAdd = SettingsAccessor.GetSetting <int>("HighExpirationHours"); break; default: throw new Exception(); } } return(DateTimeOffset.UtcNow.AddHours(hoursToAdd)); }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { var connectionString = SettingsAccessor.GetSetting <string>("DBConnectionString"); optionsBuilder.UseSqlite(connectionString); }