Пример #1
0
        private bool IsSubscribed(TubeUserChannel userChannel)
        {
            var userChannels = this.context.TubeUserChannels.AsNoTracking().ToList();

            foreach (var uc in userChannels)
            {
                if (uc.ChannelId == userChannel.ChannelId && uc.TubeUserId == userChannel.TubeUserId)
                {
                    return(true);
                }
            }

            return(false);
        }
Пример #2
0
        public void Subscribe(string id, string tubeUserName)
        {
            var user    = this.userService.GetDomainUserFromDbByUserName(tubeUserName);
            var channel = this.GetDomainChannelById(id);

            var userChannel = new TubeUserChannel
            {
                TubeUserId = user.Id,
                TubeUser   = user,
                ChannelId  = channel.Id,
                Channel    = channel
            };

            bool isSubscribed = this.IsSubscribed(userChannel);

            if (!isSubscribed)
            {
                this.context.TubeUserChannels.Add(userChannel);
                context.SaveChanges();
            }
        }