using System; using System.Threading.Tasks; using Microsoft.Extensions.Options; using Serilog; using Volo.Abp.DependencyInjection; namespace Win.Abp.SerialNumber.Test { public class SerialNumberTestService : ITransientDependency { private ISerialNumberGenerator _serialNumberGenerator; private AbpSerialNumberGeneratorOptions _options; public SerialNumberTestService( ISerialNumberGenerator serialNumberGenerator, IOptions options ) { _serialNumberGenerator = serialNumberGenerator; _options = options.Value; } public async Task RunAsync() { Log.Information("Serial Number Generator Test"); await TestSerialNumberGenerator(); } private async Task TestSerialNumberGenerator() { string id; var date = DateTime.Today; var datetimeFormat = "yyMMdd"; var prefix = "ASN"; var separator = "."; var numberCount = 4; var step = 1; var name = ""; var count = 15; Log.Information($"Generator count: {count}"); for (int i = 0; i < count; i++) { id = await _serialNumberGenerator.CreateAsync(date, prefix, datetimeFormat, separator, numberCount,step, name); Log.Information(id); await Task.Delay(100); } Log.Information("Init Serial Number : 0"); var message = await _serialNumberGenerator.InitAsync(date, prefix,datetimeFormat, name); Log.Information(message); id = await _serialNumberGenerator.CreateAsync(date, prefix, datetimeFormat, separator, numberCount,step, name); Log.Information(id); var setToValue = 100; Log.Information($"Set Serial Number : {setToValue}"); message = await _serialNumberGenerator.SetAsync(date,prefix, datetimeFormat,setToValue, name); Log.Information(message); id = await _serialNumberGenerator.CreateAsync(date, prefix, datetimeFormat, separator, numberCount,step, name); Log.Information(id); Log.Information($"Generator count: {count}"); for (int i = 0; i < count; i++) { id = await _serialNumberGenerator.CreateAsync(date, prefix, datetimeFormat, separator, numberCount,step, name); Log.Information(id); await Task.Delay(100); } } } }