public IVersionStrategy GetStrategy()
{
string setting = _configurationManager.AppSettings[AppSettingKeys.VersionStrategy];
if (string.Equals(LocalTime, setting, StringComparison.OrdinalIgnoreCase))
{
return new LocalTimestampVersion();
}
if (string.Equals(UtcTime, setting, StringComparison.OrdinalIgnoreCase))
{
return new UtcTimestampVersion();
}
if (string.Equals(SequentialNumber, setting, StringComparison.OrdinalIgnoreCase))
{
return new SequentialNumberVersion();
}
throw new ApplicationException(string.Format(
"Invalid value proved for the versionStrategy appSetting. "
+ "Acceptable values are '{0}', '{1}', or '{2}'.",
UtcTime, LocalTime, SequentialNumber));
}