public async Task <IActionResult> RemoveBlack(RemoveBlackPostData postData) { string memberID = this.HttpContext.Session.GetObject <string>(CommonFlagHelper.CommonFlag.SessionFlag.MemberID); try { InteractiveDto interactiveDto = new InteractiveDto() { MemberID = memberID, InteractiveID = postData.MemberID }; ResponseResultDto responseResult = await this.memberService.RemoveBlack(interactiveDto); if (responseResult.Ok) { return(Ok(responseResult.Data)); } return(BadRequest(responseResult.Data)); } catch (Exception ex) { this.logger.LogError($"Remove Black Error >>> MemberID:{memberID} InteractiveID:{postData.MemberID}\n{ex}"); return(BadRequest("移除黑名單發生錯誤.")); } }
/// <summary> /// 建立互動資料 /// </summary> /// <param name="interactiveDto">interactiveDto</param> /// <returns>InteractiveData</returns> private InteractiveData CreateInteractiveData(InteractiveDto interactiveDto, int status) { InteractiveData interactiveData = this.mapper.Map <InteractiveData>(interactiveDto); interactiveData.Status = status; return(interactiveData); }
public async Task <IActionResult> SearchFriend(SearchFriendPostData postData) { string memberID = this.HttpContext.Session.GetObject <string>(CommonFlagHelper.CommonFlag.SessionFlag.MemberID); try { InteractiveDto interactiveDto = new InteractiveDto() { MemberID = memberID, SearchKey = postData.Email }; ResponseResultDto responseResult = await this.memberService.SearchFriend(interactiveDto); if (responseResult.Ok) { return(Ok(responseResult.Data)); } return(BadRequest(responseResult.Data)); } catch (Exception ex) { this.logger.LogError($"Search Friend Error >>> MemberID:{memberID} Email:{postData.Email}\n{ex}"); return(BadRequest("搜尋好友發生錯誤.")); } }
/// <summary> /// 搜尋好友 /// </summary> /// <param name="interactiveDto">interactiveDto</param> /// <returns>ResponseResultDto</returns> public async Task <ResponseResultDto> SearchFriend(InteractiveDto interactiveDto) { try { string postData = JsonConvert.SerializeObject(interactiveDto); HttpResponseMessage httpResponseMessage = await Utility.ApiPost(AppSettingHelper.Appsetting.ServiceDomain.Service, "api/Member/Friendship/SearchFriend", postData); if (httpResponseMessage.IsSuccessStatusCode) { return(new ResponseResultDto() { Ok = true, Data = await httpResponseMessage.Content.ReadAsAsync <MemberSimpleInfoViewDto>() }); } return(new ResponseResultDto() { Ok = false, Data = await httpResponseMessage.Content.ReadAsAsync <string>() }); } catch (Exception ex) { this.logger.LogError($"Search Friend Error >>> MemberID:{interactiveDto.MemberID} SearchKey:{interactiveDto.SearchKey}\n{ex}"); return(new ResponseResultDto() { Ok = false, Data = "搜尋好友發生錯誤." }); } }
/// <summary> /// 加入好友 /// </summary> /// <param name="interactiveDto">interactiveDto</param> /// <returns>string</returns> public async Task <string> JoinFriend(InteractiveDto interactiveDto) { try { if (string.IsNullOrEmpty(interactiveDto.MemberID)) { return("會員編號無效."); } if (string.IsNullOrEmpty(interactiveDto.InteractiveID)) { return("對方會員編號無效."); } InteractiveData interactiveData = await this.interactiveRepository.GetAppointInteractiveData(interactiveDto.MemberID, interactiveDto.InteractiveID); if (interactiveData == null) { interactiveData = this.CreateInteractiveData(interactiveDto, (int)InteractiveType.Friend); bool isSuccess = await this.interactiveRepository.CreateInteractiveData(interactiveData); if (!isSuccess) { return("加入好友失敗."); } } else { if (interactiveData.Status != (int)InteractiveType.Friend) { interactiveData.Status = (int)InteractiveType.Friend; bool updateInteractiveDataResult = await this.interactiveRepository.UpdateInteractiveData(interactiveData); if (!updateInteractiveDataResult) { return("加入好友失敗."); } } } return(string.Empty); } catch (Exception ex) { this.logger.LogError($"Join Friend Error >>> MemberID:{interactiveDto.MemberID} InteractiveID:{interactiveDto.InteractiveID}\n{ex}"); return("加入好友發生錯誤."); } }
/// <summary> /// 移除好友 /// </summary> /// <param name="interactiveDto">interactiveDto</param> /// <returns>string</returns> public async Task <string> RemoveFriend(InteractiveDto interactiveDto) { try { if (string.IsNullOrEmpty(interactiveDto.MemberID)) { return("會員編號無效."); } if (string.IsNullOrEmpty(interactiveDto.InteractiveID)) { return("對方會員編號無效."); } InteractiveData interactiveData = await this.interactiveRepository.GetAppointInteractiveData(interactiveDto.MemberID, interactiveDto.InteractiveID); if (interactiveData == null) { //// 不做處理,認定已移除好友 this.logger.LogWarning($"No Interactive Data For Remove Friend >>> MemberID:{interactiveDto.MemberID} InteractiveID:{interactiveDto.InteractiveID}"); } else { if (interactiveData.Status == (int)InteractiveType.Friend) { interactiveData.Status = (int)InteractiveType.None; bool updateInteractiveDataResult = await this.interactiveRepository.UpdateInteractiveData(interactiveData); if (!updateInteractiveDataResult) { return("移除好友失敗."); } } } return(string.Empty); } catch (Exception ex) { this.logger.LogError($"Remove Friend Error >>> MemberID:{interactiveDto.MemberID} InteractiveID:{interactiveDto.InteractiveID}\n{ex}"); return("移除好友發生錯誤."); } }
public async Task <IActionResult> SearchFriend(InteractiveDto interactiveDto) { try { Tuple <MemberDto, string> result = await this.memberService.SearchFriend(interactiveDto); if (string.IsNullOrEmpty(result.Item2)) { return(Ok(result.Item1)); } return(BadRequest(result.Item2)); } catch (Exception ex) { this.logger.LogError($"Remove Friend Error >>> MemberID:{interactiveDto.MemberID} InteractiveID:{interactiveDto.InteractiveID}\n{ex}"); return(BadRequest("搜尋好友發生錯誤.")); } }
public async Task <IActionResult> RemoveFriend(InteractiveDto interactiveDto) { try { string result = await this.memberService.RemoveFriend(interactiveDto); if (string.IsNullOrEmpty(result)) { return(Ok("移除好友成功.")); } return(BadRequest(result)); } catch (Exception ex) { this.logger.LogError($"Remove Friend Error >>> MemberID:{interactiveDto.MemberID} InteractiveID:{interactiveDto.InteractiveID}\n{ex}"); return(BadRequest("移除好友發生錯誤.")); } }
public async Task <IActionResult> JoinBlack(InteractiveDto interactiveDto) { try { string result = await this.memberService.JoinBlack(interactiveDto); if (string.IsNullOrEmpty(result)) { return(Ok("加入黑名單成功.")); } return(BadRequest(result)); } catch (Exception ex) { this.logger.LogError($"Join Black Error >>> MemberID:{interactiveDto.MemberID} InteractiveID:{interactiveDto.InteractiveID}\n{ex}"); return(BadRequest("加入黑名單發生錯誤.")); } }
/// <summary> /// 移除黑名單 /// </summary> /// <param name="interactiveDto">interactiveDto</param> /// <returns>ResponseResultDto</returns> public async Task <ResponseResultDto> RemoveBlack(InteractiveDto interactiveDto) { try { string postData = JsonConvert.SerializeObject(interactiveDto); HttpResponseMessage httpResponseMessage = await Utility.ApiPost(AppSettingHelper.Appsetting.ServiceDomain.Service, "api/Member/Friendship/RemoveBlack", postData); return(new ResponseResultDto() { Ok = httpResponseMessage.IsSuccessStatusCode, Data = await httpResponseMessage.Content.ReadAsAsync <string>() }); } catch (Exception ex) { this.logger.LogError($"Remove Black Error >>> MemberID:{interactiveDto.MemberID} InteractiveID:{interactiveDto.InteractiveID}\n{ex}"); return(new ResponseResultDto() { Ok = false, Data = "移除黑名單發生錯誤." }); } }
/// <summary> /// 搜尋好友 /// </summary> /// <param name="interactiveDto">interactiveDto</param> /// <returns>Tuple(MemberDto, string)</returns> public async Task <Tuple <MemberDto, string> > SearchFriend(InteractiveDto interactiveDto) { try { if (string.IsNullOrEmpty(interactiveDto.MemberID)) { return(Tuple.Create <MemberDto, string>(null, "會員編號無效.")); } if (string.IsNullOrEmpty(interactiveDto.SearchKey)) { return(Tuple.Create <MemberDto, string>(null, "請輸入搜尋條件.")); } MemberData memberData = await this.memberRepository.GetMemberDataByEmail(interactiveDto.SearchKey); if (memberData == null) { return(Tuple.Create <MemberDto, string>(null, "無會員資料.")); } InteractiveData interactiveData = await this.interactiveRepository.GetAppointInteractiveData(interactiveDto.MemberID, memberData.MemberID); if (interactiveData != null && interactiveData.Status == (int)InteractiveType.Friend) { return(Tuple.Create <MemberDto, string>(null, "已加入好友.")); } return(Tuple.Create(this.mapper.Map <MemberDto>(memberData), string.Empty)); } catch (Exception ex) { this.logger.LogError($"Search Friend Error >>> MemberID:{interactiveDto.MemberID} SearchKey:{interactiveDto.SearchKey}\n{ex}"); return(Tuple.Create <MemberDto, string>(null, "搜尋好友發生錯誤.")); } }