Пример #1
0
        public List <DeviceSubscription> QueryDeviceSubscriptions(IEnumerable <int> channelIds, string uid)
        {
            var list = new List <DeviceSubscription>();

            if (channelIds.Count() == 0)
            {
                return(list);
            }

            string chanelIDs = "";

            foreach (int i in channelIds)
            {
                chanelIDs += "," + i.ToString();
            }
            chanelIDs = chanelIDs.TrimEnd(',');

            const string sqlFormat = "select * from DeviceSubscription where UserUid=@uid and ChannelId in ({0})";

            using (var con = new SqlConnection(ConfigHelp.ConnectionString))
            {
                con.Open();
                var cmd = con.CreateCommand();
                cmd.CommandText = string.Format(sqlFormat, chanelIDs);
                cmd.Parameters.Add(new SqlParameter("@uid", uid));
                using (var rdr = cmd.ExecuteReader())
                {
                    while (rdr.Read())
                    {
                        var subscription = new DeviceSubscription();
                        subscription.Id             = rdr.GetInt32(rdr.GetOrdinal("Id"));
                        subscription.ChannelId      = rdr.GetInt32(rdr.GetOrdinal("ChannelId"));
                        subscription.SubscriptionId = rdr.GetString(rdr.GetOrdinal("SubscriptionId"));
                        subscription.UserUid        = rdr.GetString(rdr.GetOrdinal("UserUid"));
                        subscription.Channel        = GetChannel(subscription.ChannelId);
                        list.Add(subscription);
                    }
                }
            }

            return(list);
        }
Пример #2
0
        public List<DeviceSubscription> QueryDeviceSubscriptions(IEnumerable<int> channelIds, string uid)
        {
            var list = new List<DeviceSubscription>();
            if (channelIds.Count() == 0) return list;

            string chanelIDs = "";
            foreach(int i in channelIds)
            {
                chanelIDs += "," + i.ToString();
            }
            chanelIDs = chanelIDs.TrimEnd(',');

            const string sqlFormat = "select * from DeviceSubscription where UserUid=@uid and ChannelId in ({0})";

            using (var con = new SqlConnection(ConfigHelp.ConnectionString))
            {
                con.Open();
                var cmd = con.CreateCommand();
                cmd.CommandText = string.Format(sqlFormat, chanelIDs);
                cmd.Parameters.Add(new SqlParameter("@uid", uid));
                using (var rdr = cmd.ExecuteReader())
                {
                    while (rdr.Read())
                    {
                        var subscription = new DeviceSubscription();
                        subscription.Id = rdr.GetInt32(rdr.GetOrdinal("Id"));
                        subscription.ChannelId = rdr.GetInt32(rdr.GetOrdinal("ChannelId"));
                        subscription.SubscriptionId = rdr.GetString(rdr.GetOrdinal("SubscriptionId"));
                        subscription.UserUid = rdr.GetString(rdr.GetOrdinal("UserUid"));
                        subscription.Channel = GetChannel(subscription.ChannelId);
                        list.Add(subscription);
                    }
                }
            }

            return list;
        }