Example #1
0
        /// <summary>
        /// 创建用户
        /// </summary>
        /// <param name="request">创建用户参数</param>
        public async Task <Guid> CreateAsync(CreateUserRequest request)
        {
            var user = request.MapTo <User>();
            await UserManager.CreateAsync(user, request.Password);

            await UnitOfWork.CommitAsync();

            return(user.Id);
        }
Example #2
0
        public CreateUserResponse Create(CreateUserRequest request)
        {
            var response = new CreateUserResponse();

            try
            {
                crypto.HashIterations = 10;
                crypto.SaltSize       = 12;

                var user = request.MapTo <User>();
                user.Role         = DataContext.RoleGroups.First(x => x.Id == request.RoleId);
                user.PasswordSalt = crypto.GenerateSalt(crypto.HashIterations, crypto.SaltSize);
                user.Password     = crypto.Compute(request.Password, user.PasswordSalt);

                //user.Password = _pass.HashPassword(request.Password);
                DataContext.Users.Add(user);
                DataContext.SaveChanges();


                if (request.RolePrivilegeIds.Count > 0)
                {
                    user = DataContext.Users.Include(u => u.Role).Include(r => r.RolePrivileges).First(x => x.Id == user.Id).MapTo <User>();
                    user.RolePrivileges.Clear();
                    foreach (var role in request.RolePrivilegeIds)
                    {
                        var rolePrivilege = DataContext.RolePrivileges.Find(role).MapTo <RolePrivilege>();
                        user.RolePrivileges.Add(rolePrivilege);
                    }
                    DataContext.SaveChanges();
                }
                response.IsSuccess = true;
                response.Message   = "User item has been added successfully";
            }
            catch (DbUpdateException dbUpdateException)
            {
                response.Message = dbUpdateException.Message;
            }

            return(response);
        }
Example #3
0
        public CreateUserResponse Create(CreateUserRequest request)
        {
            var response = new CreateUserResponse();

            try
            {
                var user = request.MapTo <User>();
                user.Role         = DataContext.RoleGroups.First(x => x.Id == request.RoleId);
                user.PasswordSalt = crypto.GenerateSalt(crypto.HashIterations, crypto.SaltSize);
                user.Password     = crypto.Compute(request.Password, user.PasswordSalt);
                //user.Password = _pass.HashPassword(request.Password);
                DataContext.Users.Add(user);
                DataContext.SaveChanges();
                response.IsSuccess = true;
                response.Message   = "User item has been added successfully";
            }
            catch (DbUpdateException dbUpdateException)
            {
                response.Message = dbUpdateException.Message;
            }

            return(response);
        }