public override async Task <GeneralResponse> AddPosition(AddPositionRequest request, ServerCallContext context)
        {
            if (await db.Positions.AnyAsync(x =>
                                            x.DepartmentId == request.DepartmentId && x.Name == request.PositionName))
            {
                return(ResponseHelper.BadResponse("部门已存在该职位"));
            }

            if (request.SuperiorPositionId.HasValue)
            {
                if (await db.Positions.AnyAsync(x => x.Id == request.SuperiorPositionId))
                {
                    return(ResponseHelper.BadResponse("指定的上级职位不存在"));
                }
            }

            await db.Positions.AddAsync(new Position
            {
                Name               = request.PositionName,
                DepartmentId       = request.DepartmentId,
                SuperiorPositionId = request.SuperiorPositionId
            });

            if (await db.SaveChangesAsync() > 0)
            {
                return(ResponseHelper.OkResponse());
            }
            return(ResponseHelper.BadResponse("未知错误"));
        }
Esempio n. 2
0
 public async Task Add([FromBody] AddPositionRequest request)
 {
     await _positionRepository.InsertAsync(new Position()
     {
         Name = request.Position.Name
     });
 }