コード例 #1
0
        public Guid RegisterUserAccount(UserRegistrationDTO userRegistration, bool createAdmin = false)
        {
            using (UnitOfWorkProvider.Create())
            {
                var userClaims = new List <Claim>();

                userClaims.Add(createAdmin
                    ? new Claim(ClaimTypes.Role, Claims.Admin)
                    : new Claim(ClaimTypes.Role, Claims.User));

                var account = coreService.CreateAccount(null, userRegistration.Password, userRegistration.Email,
                                                        null as Guid?,
                                                        null);

                Mapper.Map(userRegistration, account);

                foreach (var claim in userClaims)
                {
                    coreService.AddClaim(account.ID, claim.Type, claim.Value);
                }
                coreService.Update(account);

                return(account.ID);
            }
        }