示例#1
0
 /// <summary>
 /// 更新用户的百度推送设置
 /// 系统会自动将数据库中其他相同的推送设置清空,避免当同一个设备登录不同的账号后历史登录的账号收到推送消息
 /// </summary>
 /// <param name="condtion">推送设置</param>
 /// <param name="userId">用户ID</param>
 /// <returns></returns>
 internal static ReplayBase MemberUpdateMemberBaiduPushSet(BaiduPushSetModel condtion, string userId)
 {
     using (SysTemDataBaseDataContext context = new SysTemDataBaseDataContext(SqlConnection)) {
         //先清空与该配置相同的其他用户的推送设置
         var d = (from c in context.Us_SysUser
                  where (c.baiduPushchannelId == condtion.channelId) &&
                  (c.baiduPushUserId == condtion.userId) &&
                  (c.baiduPushdeviceType == (byte)condtion.deviceType.GetHashCode())
                  select c).ToList();
         if (d.Count > 0)
         {
             foreach (var s in d)
             {
                 s.baiduPushchannelId  = null;
                 s.baiduPushUserId     = null;
                 s.baiduPushdeviceType = null;
             }
             context.SubmitChanges();
         }
         //然后再更新用户的推送设置
         Us_SysUser dbuser = context.Us_SysUser.Single(p => p.Us_SysUserId == userId);
         dbuser.baiduPushchannelId  = condtion.channelId;
         dbuser.baiduPushUserId     = condtion.userId;
         dbuser.baiduPushdeviceType = (byte)condtion.deviceType.GetHashCode();
         context.SubmitChanges();
         return(new ReplayBase()
         {
         });
     }
 }
示例#2
0
        /// <summary>
        /// 获取用户的百度推送设置
        /// </summary>
        /// <param name="dbuser">数据库对象Us_SysUser</param>
        /// <returns></returns>
        internal static BaiduPushSetModel MemberGetMemberBaiduPushSetInfo(Us_SysUser dbuser)
        {
            if (dbuser.baiduPushdeviceType == null)
            {
                return(null);
            }
            BaiduPushSetModel result = new BaiduPushSetModel()
            {
                channelId  = dbuser.baiduPushchannelId,
                deviceType = (EnumUserDeviceType)dbuser.baiduPushdeviceType,
                userId     = dbuser.baiduPushUserId
            };

            return(result);
        }
示例#3
0
        /// <summary>
        /// 获取用户的个推推送设置
        /// </summary>
        /// <param name="dbuser"></param>
        /// <returns></returns>
        internal static GeTuiSetModel MemberGetMemberGetuiPushSetInfo(Us_SysUser dbuser)
        {
            if (dbuser.getuiPushDeviceType == null)
            {
                return(null);
            }
            GeTuiSetModel result = new GeTuiSetModel()
            {
                clientId   = dbuser.getuiPushClientId,
                deviceType = (EnumUserDeviceType)dbuser.getuiPushDeviceType,
                userId     = dbuser.Us_SysUserId
            };

            return(result);
        }
示例#4
0
        /// <summary>
        /// 更新用户的个推设置信息
        /// 系统会自动将数据库中其他相同的推送设置清空,避免当同一个设备登录不同的账号后历史登录的账号收到推送消息
        /// </summary>
        /// <param name="condtion"></param>
        /// <param name="userId"></param>
        /// <returns></returns>
        internal static ReplayBase MemberUpdateMemberGetuiPushSet(GeTuiSetModel condtion, string userId)
        {
            using (SysTemDataBaseDataContext context = new SysTemDataBaseDataContext(SqlConnection)) {
                var d = (from c in context.Us_SysUser
                         where (c.getuiPushClientId == condtion.clientId) &&
                         (c.getuiPushDeviceType == (byte)condtion.deviceType.GetHashCode())
                         select c).ToList();
                if (d.Count > 0)
                {
                    foreach (var s in d)
                    {
                        s.getuiPushClientId   = null;
                        s.getuiPushDeviceType = null;
                    }
                    context.SubmitChanges();
                }

                Us_SysUser dbuser = context.Us_SysUser.Single(p => p.Us_SysUserId == userId);
                dbuser.getuiPushClientId   = condtion.clientId;
                dbuser.getuiPushDeviceType = (byte)condtion.deviceType.GetHashCode();
                context.SubmitChanges();
                return(new ReplayBase());
            }
        }