/// <summary> /// 驗證車隊搜尋指令資料 /// </summary> /// <param name="teamSearchCommand">teamSearchCommand</param> /// <returns>bool</returns> private bool VerifyTeamSearchCommand(TeamSearchCommandDto teamSearchCommand) { if (teamSearchCommand == null) { return(false); } if (string.IsNullOrEmpty(teamSearchCommand.SearcherID)) { return(false); } if (string.IsNullOrEmpty(teamSearchCommand.SearchKey)) { return(false); } return(true); }
public async Task <IActionResult> Post(TeamSearchCommandDto teamSearchCommand) { try { Tuple <IEnumerable <TeamInfoDto>, string> result = await this.teamService.SearchTeam(teamSearchCommand); if (string.IsNullOrEmpty(result.Item2)) { return(Ok(result.Item1)); } return(BadRequest(result.Item2)); } catch (Exception ex) { this.logger.LogError($"Search Team Error >>> SearcherID:{teamSearchCommand.SearcherID} SearchKey:{teamSearchCommand.SearchKey}\n{ex}"); return(BadRequest("搜尋車隊資訊列表發生錯誤.")); } }
/// <summary> /// 搜尋車隊 /// </summary> /// <param name="teamSearchCommand">teamSearchCommand</param> /// <returns>Tuple(TeamInfoDtos, string)</returns> public async Task <Tuple <IEnumerable <TeamInfoDto>, string> > SearchTeam(TeamSearchCommandDto teamSearchCommand) { try { bool verifyTeamSearchCommandResult = this.VerifyTeamSearchCommand(teamSearchCommand); if (!verifyTeamSearchCommandResult) { this.logger.LogError($"Search Team Fail For Verify TeamSearchCommand >>> SearcherID:{teamSearchCommand.SearcherID} SearchKey:{teamSearchCommand.SearchKey}"); return(Tuple.Create <IEnumerable <TeamInfoDto>, string>(null, "搜尋車隊失敗")); } int searchOpenStatus = (int)TeamSearchStatusType.Open; IEnumerable <TeamData> teamDatas = await this.teamRepository.GetTeamDataListByTeamName(teamSearchCommand.SearchKey, false); IEnumerable <TeamData> allowTeamDatas = teamDatas.Where(data => !data.TeamBlacklistIDs.Contains(teamSearchCommand.SearcherID) && data.TeamSearchStatus == searchOpenStatus); return(Tuple.Create(this.mapper.Map <IEnumerable <TeamInfoDto> >(allowTeamDatas), string.Empty)); } catch (Exception ex) { this.logger.LogError($"Search Team Error >>> SearcherID:{teamSearchCommand.SearcherID} SearchKey:{teamSearchCommand.SearchKey}\n{ex}"); return(Tuple.Create <IEnumerable <TeamInfoDto>, string>(null, "搜尋車隊發生錯誤.")); } }