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); }
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(); } }