diff --git a/src/AbpDesk/AbpDesk.ConsoleDemo/AbpDesk/ConsoleDemo/UserLister.cs b/src/AbpDesk/AbpDesk.ConsoleDemo/AbpDesk/ConsoleDemo/UserLister.cs index a6482af4d4..a50ab0ac9a 100644 --- a/src/AbpDesk/AbpDesk.ConsoleDemo/AbpDesk/ConsoleDemo/UserLister.cs +++ b/src/AbpDesk/AbpDesk.ConsoleDemo/AbpDesk/ConsoleDemo/UserLister.cs @@ -1,6 +1,7 @@ using System; using System.Linq; using Volo.Abp.Domain.Repositories; +using Volo.Abp.Guids; using Volo.Abp.Identity; using Volo.Abp.Threading; using Volo.Abp.Uow; @@ -12,16 +13,19 @@ namespace AbpDesk.ConsoleDemo { private readonly IdentityUserManager _userManager; private readonly IUnitOfWorkManager _unitOfWorkManager; + private readonly IGuidGenerator _guidGenerator; private readonly IQueryableRepository _userRepository; public UserLister( IdentityUserManager userManager, IQueryableRepository userRepository, - IUnitOfWorkManager unitOfWorkManager) + IUnitOfWorkManager unitOfWorkManager, + IGuidGenerator guidGenerator) { _userManager = userManager; _userRepository = userRepository; _unitOfWorkManager = unitOfWorkManager; + _guidGenerator = guidGenerator; } public void List() @@ -31,6 +35,9 @@ namespace AbpDesk.ConsoleDemo using (var uow = _unitOfWorkManager.Begin()) { + //TODO: Create IdentityUser by a factory or manager to ensure requirements (like unique username) or just use UserManager.Create here? + //_userRepository.Insert(new IdentityUser(_guidGenerator.Create(), "tugrul"), true); + foreach (var user in _userRepository.ToList()) { Console.WriteLine("# " + user); diff --git a/src/Volo.Abp.Identity/Volo/Abp/Identity/IdentityUser.cs b/src/Volo.Abp.Identity/Volo/Abp/Identity/IdentityUser.cs index b5970093af..fe13fa2211 100644 --- a/src/Volo.Abp.Identity/Volo/Abp/Identity/IdentityUser.cs +++ b/src/Volo.Abp.Identity/Volo/Abp/Identity/IdentityUser.cs @@ -121,10 +121,11 @@ namespace Volo.Abp.Identity } - public IdentityUser([NotNull] string userName) + public IdentityUser(Guid id, [NotNull] string userName) { Check.NotNull(userName, nameof(userName)); + Id = id; UserName = userName; } diff --git a/src/Volo.Abp/Volo/Abp/Guids/SequentialGuidGenerator.cs b/src/Volo.Abp/Volo/Abp/Guids/SequentialGuidGenerator.cs index 22db24cde2..0fc502431a 100644 --- a/src/Volo.Abp/Volo/Abp/Guids/SequentialGuidGenerator.cs +++ b/src/Volo.Abp/Volo/Abp/Guids/SequentialGuidGenerator.cs @@ -2,6 +2,7 @@ using System.Security.Cryptography; using Microsoft.Extensions.Options; using Volo.Abp.Threading; +using Volo.DependencyInjection; namespace Volo.Abp.Guids { @@ -11,7 +12,7 @@ namespace Volo.Abp.Guids /// Implements by creating sequential Guids. /// Use to configure. /// - public class SequentialGuidGenerator : IGuidGenerator + public class SequentialGuidGenerator : IGuidGenerator, ITransientDependency { public SequentialGuidGeneratorOptions Options { get; }