public PositionInfo Create(string operationUserId, PositionCreateInfo createInfo) { User opUser = this.OrganizationManager.UserManager.GetUserById(operationUserId); Position position = this.OrganizationManager.PositionManager.Create(opUser, createInfo, OrganizationType.Position); return(position.MapPositionInfo()); }
public Position Create(User operationUser, PositionCreateInfo createInfo, OrganizationType positionType) { lock (this._updateLockObject) { if (operationUser == null) { throw new ArgumentNullException("operationUser"); } if (string.IsNullOrWhiteSpace(createInfo.Name)) { throw new OrganizationException("createInfo.Name不能为空!"); } List <Position> positions = this._Positions; Position parent = this.GetPositionById(createInfo.ParentId); if (parent != null) { Position child = parent.Children.FirstOrDefault(x => x.Name == createInfo.Name); if (child != null) { throw new PositionNameReapeatException(); } } CreatedEventArgs <PositionCreateInfo, Position> args = new CreatedEventArgs <PositionCreateInfo, Position> { CreateInfo = createInfo, Operator = operationUser }; if (this.Creating != null) { this.Creating(this, createInfo); } Position position = new Position(Guid.NewGuid().ToString(), createInfo.Name, createInfo.ParentId, createInfo.Remark, this._orgMnger); List <Position> tempPositions = positions.ToList(); tempPositions.Add(position); this._positions = tempPositions; this.IndexPosition(); if (this.Created != null) { this.Created(this, position); } return(position); } }
/// <summary> /// 创建职位 /// </summary> /// <param name="position">职位</param> /// <returns>职位</returns> public Position Create(User operationUser, PositionCreateInfo createInfo) { return(this.Create(operationUser, createInfo, OrganizationType.Position)); }