/// <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); } } }
/// <summary> /// 老師新增教材 /// </summary> /// <param name="circleKey"></param> /// <param name="eventId"></param> /// <param name="eventName"></param> /// <param name="myId"></param> /// <returns></returns> public async Task PushMaterialOnCreatedAsync(string circleKey, Guid eventId, string eventName, int?myId) { var cacheService = new CacheService(); var members = cacheService.GetCircleMemberList(circleKey, myId); var memberService = new MemberService(); var memberInfo = memberService.UserIdToAccount(Convert.ToInt32(myId)); var eventMessage = string.Format("{0}傳送了圖片", memberInfo.Name, eventName); var pushService = new PushService(); await pushService.PushMsgAsync("ToEventCard", circleKey, eventId, "推播_查看新的-互動圖片", members.ToArray(), eventMessage); }
public async Task PushOnChangedSignIn(string circleKey, Guid eventId, string studentId, string updateStatus) { var students = new List <string>() { studentId }; var eventMessage = string.Format("您的狀態已更新:{0}", updateStatus); // 推播文字→ [點名活動({建立時間:yyyy/M/d hh:mm})]您的狀態已更新:{ 出席狀態} // var message = string.Format("[點名活動(建立時間:{1:yyyy/M/d HH:mm})]{0}", eventMessage, DateTime.Now); var message = string.Format("點名活動({1:yyyy/M/d HH:mm}){0}", eventMessage, DateTime.Now); var pushService = new PushService(); await pushService.PushMsgAsync("ToSignInActivity", circleKey, eventId, "推播_查看點名-更新", students.ToArray(), message); }
/// <summary> /// 新增主題討論活動推播 /// </summary> /// <param name="members"></param> /// <param name="circleKey"></param> /// <param name="eventId"></param> /// <param name="eventName"></param> /// <param name="myId"></param> /// <returns></returns> private async Task PushDiscussionOnCreatedAsync(List <Infrastructure.BusinessObject.MemberCacheData> members, string circleKey, Guid eventId, string eventName, int myId) { //刪除自己 members.Remove(members.FirstOrDefault(t => t.Id == myId)); var memberService = new MemberService(); var creator = memberService.UserIdToAccount(myId); var eventMessage = string.Format("{1}新增了主題討論:{0}", eventName, creator.Name); var pushService = new PushService(); if (members.Count() > 0) { await pushService.PushMsgAsync("ToEventCard", circleKey, eventId, "推播_查看新的-主題討論", members.Select(t => t.Account).ToArray(), eventMessage); } }
public async Task PushOnCreatedMessage(string circleKey, Guid eventId, string memberName, string text, int?myId) { var cacheService = new CacheService(); var memberService = new MemberService(); var members = myId.HasValue ? memberService.GetLearningCircleMembers(circleKey.ToLower(), myId) : memberService.GetLearningCircleMembers(circleKey.ToLower()); //var members = cacheService.GetCircleMember(circleKey.ToLower()).Select(t=>t.Account); // new CacheCircle().GetCircleMemberList(circleKey, myId); // 推播文字→ {建立者姓名} :{留言內容} var message = string.Format("{0} :{1}", memberName, text); var pushService = new PushService(); if (members.Count() > 0) { await pushService.PushMsgAsync("ToEventCard", circleKey, eventId, "推播_查看新的-互動文字", members.Select(t => t.Account).ToArray(), message); } }
/// <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); } }
public async Task PushOnCreatedSignIn(string circleKey, Guid eventId, int?myId) { var creatorName = string.Empty; var memberService = new MemberService(); if (myId != null) { creatorName = memberService.UserIdToAccount(myId.Value).Name; } var learningcircleService = new LearningCircleService(); var members = learningcircleService.GetCircleMemberList(circleKey, myId); var eventMessage = string.Format("{0}新增了點名活動", creatorName); var pushService = new PushService(); // 推播文字:點名活動即將開始({日期} {時間}) // var message = string.Format("{0}(建立時間:{1:yyyy/M/d HH:mm})", eventMessage, DateTime.Now); var message = string.Format("{0}", eventMessage); if (members.Count > 0) { await pushService.PushMsgAsync("ToEventCard", circleKey, eventId, "推播_查看點名-開始", members.ToArray(), message); } }
/// <summary> /// 編輯主題討論活動推播 /// </summary> /// <param name="members"></param> /// <param name="circleKey"></param> /// <param name="eventId"></param> /// <param name="eventName"></param> /// <param name="myId"></param> /// <returns></returns> private async Task PushDiscussionOnUpdateAsync(List <Infrastructure.BusinessObject.MemberCacheData> members, string circleKey, Guid eventId, string eventName, int myId) { noticeService = new NoticeService(); //刪除自己 members.Remove(members.FirstOrDefault(t => t.Id == myId)); var memberService = new MemberService(); var creator = memberService.UserIdToAccount(myId); var eventMessage = string.Format("[{0}]內容已更新", eventName); var noticeMsg = string.Format("{0} 更新了主題討論 : 「{1} 」", creator.Name, eventName); //新增多筆訊息資料 noticeService.AddMultipleNotice(members, eventId, circleKey, noticeMsg); var pushService = new PushService(); //廣播訊息資訊 SendNotice(members, circleKey); if (members.Count() > 0) { //推播 await pushService.PushMsgAsync("ToDiscussionActivity", circleKey, eventId, "推播_查看更新的主題討論", members.Select(t => t.Account).ToArray(), eventMessage); } }