/// <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); }
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); }
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); }