public async Task <bool> RemoveSubscription(string id, DomainModels.Subscription subscription)
        {
            var filter = Builders <DomainModels.Profile> .Filter.Eq(p => p.Id, id);

            var update = Builders <DomainModels.Profile> .Update.PullFilter(p => p.Subscriptions,
                                                                            s => s.Id == subscription.Id);

            var result = await collection.UpdateOneAsync(filter, update);

            return(result.IsAcknowledged && result.ModifiedCount > 0);
        }
Beispiel #2
0
        /// <summary>
        /// Adds a subscription to the current user.
        /// </summary>
        /// <param name="subscription">Subscription to add</param>
        /// <returns></returns>
        public async Task AddSubscriptionAsync(DomainModels.Subscription subscription)
        {
            await DbContext.Subscriptions.AddAsync(new Db.Subscription
            {
                Name     = subscription.Name,
                RssUrl   = subscription.RssUrl,
                UserUID  = subscription.UserUID,
                ImageUrl = subscription.ImageUrl
            });

            await DbContext.SaveChangesAsync();
        }
        public async Task <bool> AddSubscription(string id, DomainModels.Subscription subscription)
        {
            var filter = Builders <DomainModels.Profile> .Filter.Eq(p => p.Id, id);

            var update = Builders <DomainModels.Profile> .Update.Push(p => p.Subscriptions, subscription);

            var result = await collection.UpdateOneAsync(filter, update);

            if (!result.IsAcknowledged && result.MatchedCount == 0)
            {
                throw new BadRequestException("No profile found to update");
            }
            return(result.IsAcknowledged && result.ModifiedCount > 0);
        }