public static async Task<UserAppMember> SetNotification(string userId, SimpleMessage[] msgs)
 {
     UserAppMemberServiceProxy mbsvc = new UserAppMemberServiceProxy();
     var cntx = Cntx;
     var memb = await mbsvc.LoadEntityByKeyAsync(cntx, AppId, userId);
     if (memb != null)
     {
         memb.ChangedMemberCallbacks = (await mbsvc.MaterializeAllMemberCallbacksAsync(cntx, memb)).ToArray();
         var notices = new List<MemberNotification>();
         foreach (var msg in msgs)
         {
             notices.Add(new MemberNotification
             {
                 ID = Guid.NewGuid().ToString(),
                 Title = msg.Title,
                 NoticeMsg = msg.Message,
                 NoticeData = msg.Data,
                 CreatedDate = DateTime.UtcNow,
                 PriorityLevel = (short)msg.Priority,
                 ReadCount = 0,
                 TypeID = msg.TypeId,
                 UserID = userId,
                 ApplicationID = AppId
             });
         }
         MemberNotificationServiceProxy nsvc = new MemberNotificationServiceProxy();
         var results = await nsvc.AddOrUpdateEntitiesAsync(Cntx, new MemberNotificationSet(), notices.ToArray());
         for (int i = 0; i < msgs.Length; i++)
             msgs[i].Id = results.ChangedEntities[i].UpdatedItem.ID;
     }
     return memb;
 }
Example #2
0
        public static async Task <UserAppMember> SetNotification(string userId, SimpleMessage[] msgs)
        {
            UserAppMemberServiceProxy mbsvc = new UserAppMemberServiceProxy();
            var cntx = Cntx;
            var memb = await mbsvc.LoadEntityByKeyAsync(cntx, AppId, userId);

            if (memb != null)
            {
                memb.ChangedMemberCallbacks = (await mbsvc.MaterializeAllMemberCallbacksAsync(cntx, memb)).ToArray();
                var notices = new List <MemberNotification>();
                foreach (var msg in msgs)
                {
                    notices.Add(new MemberNotification
                    {
                        ID            = Guid.NewGuid().ToString(),
                        Title         = msg.Title,
                        NoticeMsg     = msg.Message,
                        NoticeData    = msg.Data,
                        CreatedDate   = DateTime.UtcNow,
                        PriorityLevel = (short)msg.Priority,
                        ReadCount     = 0,
                        TypeID        = msg.TypeId,
                        UserID        = userId,
                        ApplicationID = AppId
                    });
                }
                MemberNotificationServiceProxy nsvc = new MemberNotificationServiceProxy();
                var results = await nsvc.AddOrUpdateEntitiesAsync(Cntx, new MemberNotificationSet(), notices.ToArray());

                for (int i = 0; i < msgs.Length; i++)
                {
                    msgs[i].Id = results.ChangedEntities[i].UpdatedItem.ID;
                }
            }
            return(memb);
        }