Пример #1
0
        public async Task <IActionResult> ApplyToJoinTeamApiAsync(int teamId)
        {
            CustomStatusCode code;
            var jwt  = HttpRequest();
            var user = _userRepository.UserSearch(jwt.Id);

            //判断是否已经加入队伍
            if (user.RunTeamId != 0)
            {
                _logger.LogInformation($"用户 {user.Id} 申请加入 {teamId} 战队失败,已加入队伍");
                code = new CustomStatusCode
                {
                    Status  = "200",
                    Message = $"用户 {user.Id} 申请加入 {teamId} 战队失败,已加入队伍"
                };
                return(StatusCode(200, code));
            }

            //判断申请者队伍是否存在此人
            var listApplicant = _runTeamResource.SearchAllParticipate(teamId);


            List <int> list = new List <int>();
            int        i    = 0;

            foreach (var l in listApplicant)
            {
                list.Add(l.UserId);
                i++;
            }
            if (list.Contains(user.Id))
            {
                _logger.LogInformation($"用户 {user.Id} 申请加入 {teamId} 战队失败,已经申请");
                code = new CustomStatusCode
                {
                    Status  = "200",
                    Message = $"用户 {user.Id} 申请加入 {teamId} 战队失败,已经申请"
                };
                return(StatusCode(200, code));
            }

            var applicant = new RunApplicant
            {
                UserId          = user.Id,
                Name            = user.Name,
                Sex             = user.Sex,
                ApplicationDate = DateTime.Now,
                RunTeamId       = teamId
            };

            _runTeamResource.ParticipateInTeam(applicant);
            if (!await _unitOfWork.SaveChanged())
            {
                _logger.LogError($"用户 {user.Id} 申请加入 {teamId} 战队保存失败");
                code = new CustomStatusCode
                {
                    Status  = "500",
                    Message = $"用户 {user.Id} 申请加入 {teamId} 战队保存失败"
                };
                return(StatusCode(500, code));
            }
            _logger.LogError($"用户 {user.Id} 申请加入 {teamId} 战队");
            code = new CustomStatusCode
            {
                Status  = "201",
                Message = $"用户 {user.Id} 申请加入 {teamId} 战队"
            };
            return(StatusCode(201, code));
        }
Пример #2
0
 /// <summary>
 /// 申请参加队伍
 /// </summary>
 /// <param name="applicant">申请信息</param>
 /// <returns></returns>
 public void ParticipateInTeam(RunApplicant applicant)
 {
     _myContext.RunApplicants.Add(applicant);
 }