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)); }
/// <summary> /// 申请参加队伍 /// </summary> /// <param name="applicant">申请信息</param> /// <returns></returns> public void ParticipateInTeam(RunApplicant applicant) { _myContext.RunApplicants.Add(applicant); }