/// <summary> /// 主題討論留言推播 /// </summary> /// <param name="circleKey"></param> /// <param name="eventId"></param> /// <param name="eventName"></param> /// <param name="replyMemberInfo"></param> /// <returns></returns> private async Task PushDiscussionSendMsgAsync(string circleKey, Guid eventId, string eventName, Infrastructure.Entity.Member replyMemberInfo) { discussionMsgService = new DiscussionFuncMsg(); var eventMessage = string.Format("{0}回應了一則主題討論", replyMemberInfo.Name); var noticeMsg = string.Format("{0}回應了一則主題討論:「 {1}」", replyMemberInfo.Name, eventName); var replyMembers = discussionMsgService.GetReplyMemberList(eventId, replyMemberInfo).ToList(); noticeService = new NoticeService(); //新增多筆訊息資料 noticeService.AddMultipleNotice(replyMembers, eventId, circleKey, noticeMsg); //廣播訊息資訊 SendNotice(replyMembers, circleKey); var pushMembers = replyMembers.Select(t => t.Account).ToArray(); var pushService = new PushService(); if (replyMembers.Count > 0) { await pushService.PushMsgAsync("ToDiscussionActivity", circleKey, eventId, "推播_查看主題討論-被留言", pushMembers, eventMessage); } }
/// <summary> /// 某個留言被回覆的推播 /// </summary> /// <param name="circleKey">學習圈代碼</param> /// <param name="eventId">主題討論代碼</param> /// <param name="eventName">主題討論名稱</param> /// <param name="replyMember">回覆者資訊</param> /// <param name="beReplyMemberInfo">被回覆的人資訊</param> /// <param name="isTag">是否為回覆</param> /// <returns></returns> private async Task PushMsgReplyAsync(string circleKey, Guid eventId, string eventName, Infrastructure.Entity.Member replyMember, Infrastructure.Entity.Member beReplyMemberInfo, bool?isTag = false) { var eventMessage = isTag.Value ? (string.Format("{0}回應了一則主題討論的回覆", replyMember.Name)) : (string.Format("{0}回應了一則主題討論的留言", replyMember.Name)); var noticeMsg = isTag.Value ? string.Format("{0}回應了一則主題討論的回覆:「{1}」", replyMember.Name, eventName) : string.Format("{0}回應了一則主題討論的留言:「{1}」", replyMember.Name, eventName); discussionMsgService = new DiscussionFuncMsg(); // var pushMember =replyMember.Id!= beReplyMemberInfo.Id ? new string[1] { beReplyMemberInfo.Account } : new string[0]; var replyMembers = discussionMsgService.GetReplyMemberList(eventId, replyMember).ToList(); if (replyMembers.Count() > 0) { noticeService = new NoticeService(); //新增多筆訊息資料 noticeService.AddMultipleNotice(replyMembers, eventId, circleKey, noticeMsg); //廣播訊息資訊 SendNotice(replyMembers, circleKey); var pushService = new PushService(); if (isTag.Value) { await pushService.PushMsgAsync("ToDiscussionActivity", circleKey, eventId, "推播_查看主題討論-回覆被回覆", replyMembers.Select(t => t.Account).ToArray(), eventMessage); } else { await pushService.PushMsgAsync("ToDiscussionActivity", circleKey, eventId, "推播_查看主題討論-留言被回覆", replyMembers.Select(t => t.Account).ToArray(), eventMessage); } } }
/// <summary> /// 按讚推播 /// </summary> /// <param name="circleKey">學習圈代碼</param> /// <param name="eventId">活動 | 留言代碼</param> /// <param name="eventName">按讚資訊</param> /// <param name="likeMan">按讚人資訊</param> /// <param name="beLikeManId">被按讚人的編號(留言按讚) / 按讚者編號(主題討論按讚)</param> /// <param name="isMsg">是否為留言</param> /// <param name="isReply">是否為回覆</param> /// <returns></returns> public async Task PushLikeAsync(string circleKey, Guid eventId, string eventName, Infrastructure.Entity.Member likeMan, int beLikeManId, bool isMsg, bool?isReply = false) { var memberService = new MemberService(); //取得長度10以下的內容 eventName = eventName.Count() > 10 ? eventName.Substring(0, 9) + "..." : eventName; var pushMessage = string.Empty; var noticeMsg = string.Empty; var listAccount = memberService.UserIdToAccount(beLikeManId); var pushService = new PushService(); var memberInfo = likeMan.Id != beLikeManId ? new string[1] { listAccount.Account } : new string[0]; if (isMsg) { if (isReply != false) { noticeMsg = string.Format("{0}覺得你在主題討論中的回覆很讚:「{1}」", likeMan.Name, eventName); pushMessage = string.Format("{0}覺得你在主題討論中的回覆很讚", likeMan.Name); } else { noticeMsg = string.Format("{0}覺得你在主題討論中的留言很讚:「{1}」", likeMan.Name, eventName); pushMessage = string.Format("{0}覺得你在主題討論中的留言很讚", likeMan.Name); } if (memberInfo.Count() > 0) { //AddNotice(circleKey, eventId, beLikeManId, noticeMsg); noticeService.AddNoticeSaveChange(circleKey, beLikeManId, eventId, noticeMsg); SendNotice(beLikeManId, circleKey); await pushService.PushMsgAsync("ToDiscussionActivity", circleKey, eventId, "推播_查看主題討論-留言被按讚", memberInfo, pushMessage); } } else { pushMessage = string.Format("{0}覺得一則主題討論很讚", likeMan.Name); noticeMsg = string.Format("{0}覺得一則主題討論很讚:「{1}」", likeMan.Name, eventName); if (memberInfo.Count() > 0) { noticeService.AddNoticeSaveChange(circleKey, beLikeManId, eventId, noticeMsg); SendNotice(beLikeManId, circleKey); await pushService.PushMsgAsync("ToDiscussionActivity", circleKey, eventId, "推播_查看主題討論-被按讚", memberInfo, pushMessage); } } }