using System; using System.Threading.Tasks; using xCommons.Extensions; using xDataService.Interfaces; using xModels.Base; namespace xDataService.Providers { public class XStringKeyGenerator : IXKeyGenerator, string> { private readonly IXSequentialGuid sequentialGuid; public XStringKeyGenerator (IXSequentialGuid sequentialGuid = null) { this.sequentialGuid = sequentialGuid; } public async Task GenerateKey (IXBaseRepository, string> repository) { // await Task.CompletedTask; // if (sequentialGuid.IsNull ()) { return Guid.NewGuid ().ToString (); } else { return sequentialGuid.Next ().ToString (); } } public bool IsEmpty (string id) { return id.IsNullOrEmpty (); } } }