DotNetMigrations.Migrations.VersionStrategyFactory.GetStrategy C# (CSharp) Method

GetStrategy() public method

public GetStrategy ( ) : IVersionStrategy
return IVersionStrategy
        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));
        }

Usage Example

        /// <summary>
        /// Generates a new version number for assignment.
        /// </summary>
        private long GetNewVersionNumber()
        {
            var factory = new VersionStrategyFactory(_configurationManager);
            IVersionStrategy strategy = factory.GetStrategy();
            long             version  = strategy.GetNewVersionNumber(this);

            return(version);
        }
All Usage Examples Of DotNetMigrations.Migrations.VersionStrategyFactory::GetStrategy