public async Task <IActionResult> SubscribeFeed([FromBody] FeedSubscription data) { //var user = await _userManager.GetUserAsync(User); var user = await db.Users.FirstOrDefaultAsync(); var subsc = await db.Subscriptions.FirstOrDefaultAsync(s => s.UserId == user.UserId && s.auth == data.subscription.keys.auth); if (subsc == null) { return(NotFound()); } if (data.subscribe) { var subscribedFeed = new UserSubscribedFeed { UserId = user.UserId, FeedId = data.feedId, SubscriptionId = subsc.SubscriptionId }; db.UserSubscribedFeeds.Add(subscribedFeed); } else { var subscribedFeed = await db.UserSubscribedFeeds.FirstOrDefaultAsync(uf => uf.FeedId == data.feedId && uf.UserId == user.UserId && uf.SubscriptionId == subsc.SubscriptionId); db.UserSubscribedFeeds.Remove(subscribedFeed); } await db.SaveChangesAsync(); return(Ok()); }
public static FeedSubscriptionModel Map(FeedSubscription feedSubscription) { return(new FeedSubscriptionModel { Id = feedSubscription.Id, Title = feedSubscription.Title }); }
public async Task AddSubscription(FeedSubscription feedSubscription) { if (feedSubscription == null) { throw new ArgumentNullException(nameof(feedSubscription)); } this.dbContext.FeedSubscriptions.Add(feedSubscription); await this.dbContext.SaveChangesAsync(); }
private FeedSubscription TransformToFeedSubscription(FeedSubscriptionEntity feedSubscriptionEntity) { var feedSubscription = new FeedSubscription { Title = feedSubscriptionEntity.RowKey, Description = feedSubscriptionEntity.Description, Url = feedSubscriptionEntity.Url, ImageUrl = feedSubscriptionEntity.ImageUrl, LastUpdated = feedSubscriptionEntity.LastUpdated, KeyPhrases = BuildStringListFromCommaDelimitedString(feedSubscriptionEntity.KeyPhrases), SubscribedDate = feedSubscriptionEntity.SubscribedDate, }; int.TryParse(feedSubscriptionEntity.PartitionKey, out var subscriptionId); feedSubscription.Id = (subscriptionId > 0) ? subscriptionId : 0; return(feedSubscription); }
private static async Task <IFeedSubscription> BuildFeedSubscriptionResponse(Feed feed) { var feedSubscription = new FeedSubscription { Title = feed.Title, Description = feed.Description, Url = feed.Link, ImageUrl = feed.ImageUrl, LastUpdated = feed.LastUpdatedDate, SubscribedDate = DateTime.Now, FeedItems = new List <VprFeedItem>() }; if (!string.IsNullOrEmpty(feedSubscription.Description)) { feedSubscription.KeyPhrases = await ExtractKeyPhrasesAsync(feedSubscription.Description); } feedSubscription = await ScoreFeedAsync(feedSubscription); if (feed.Items.Count == 0) { return(feedSubscription); } foreach (var feedItem in feed.Items) { var vprFeedItem = new VprFeedItem { Author = feedItem.Author, Categories = feedItem.Categories, Content = feedItem.Content, Description = feedItem.Description, Link = feedItem.Link, PublishingDate = feedItem.PublishingDate, PublishingDateString = feedItem.PublishingDateString, Title = feedItem.Title }; feedSubscription.FeedItems.Add(vprFeedItem); } return(feedSubscription); }
public static async Task <FeedSubscription> ScoreFeedAsync(FeedSubscription feed) { var result = feed; try { var uri = new Uri(ScoreFeedUri); var response = await FuncHttpClient.PostAsync(uri, new StringContent(JsonConvert.SerializeObject(feed), Encoding.UTF8, "application/json")); result = JsonConvert.DeserializeObject <FeedSubscription>(await response.Content.ReadAsStringAsync()); } catch (Exception e) { Console.WriteLine(e.Message); } return(result); }
protected override void ParseSubscription() { if (txtName.Text.Trim() == "" || txtURL.Text.Trim() == "") { MessageBox.Show(i18n.FillFeedNameAndUrlFieldsMessage, i18n.AllFieldsRequiredTitle, MessageBoxButtons.OK, MessageBoxIcon.Error); this.OnSubscriptionParsed(new SubscriptionParsedEventArgs(false)); return; } if (Subscriptions.Instance.Dictionary.ContainsKey(txtURL.Text)) { MessageBox.Show(string.Format(i18n.FeedSubscriptionAlreadyExists, Subscriptions.Instance.Dictionary[txtURL.Text].Name), i18n.SubscriptionExists, MessageBoxButtons.OK, MessageBoxIcon.Error); this.OnSubscriptionParsed(new SubscriptionParsedEventArgs(false)); return; } try { var subscription = new FeedSubscription {Name = txtName.Text, Url = txtURL.Text}; using (var feed = new Feed(subscription)) { if (!feed.IsValid()) { MessageBox.Show(i18n.ErrorParsingFeedMessage, i18n.ErrorParsingFeedTitle, MessageBoxButtons.OK, MessageBoxIcon.Error); this.OnSubscriptionParsed(new SubscriptionParsedEventArgs(false)); return; } } this.OnSubscriptionParsed(new SubscriptionParsedEventArgs(true, subscription)); } catch(Exception) { MessageBox.Show(i18n.ErrorParsingFeedMessage, i18n.ErrorParsingFeedTitle, MessageBoxButtons.OK, MessageBoxIcon.Error); this.OnSubscriptionParsed(new SubscriptionParsedEventArgs(false)); } }
private FeedSubscription TransformToFeedSubscription(IFeedSubscriptionDo feedSubscriptionDo) { var feedSubscription = new FeedSubscription { Id = feedSubscriptionDo.Id, Title = feedSubscriptionDo.Title, Description = feedSubscriptionDo.Description, Url = feedSubscriptionDo.Url, ImageUrl = feedSubscriptionDo.ImageUrl, LastUpdated = feedSubscriptionDo.LastUpdated, KeyPhrases = BuildStringListFromCommaDelimitedString(feedSubscriptionDo.KeyPhrases), SubscribedDate = feedSubscriptionDo.SubscribedDate, //FeedItems = new List<VprFeedItem>() }; //if (feedSubscriptionDo.FeedItems == null) return feedSubscription; //foreach (var feedItem in feedSubscriptionDo.FeedItems) //{ // var vprFeedItem = new VprFeedItem // { // Id = feedItem.Id, // Author = feedItem.Author, // Categories = feedItem.Categories, // Content = feedItem.Content, // Description = feedItem.Description, // FeedSubscriptionDoId = feedItem.FeedSubscriptionDoId, // Link = feedItem.Link, // PublishingDate = feedItem.PublishingDate, // PublishingDateString = feedItem.PublishingDateString, // Title = feedItem.Title // }; // feedSubscription.FeedItems.Add(vprFeedItem); //} return(feedSubscription); }
public ListviewFeedSubscription(FeedSubscription feedSubscription) { this._feedSubscription = feedSubscription; this.Text = feedSubscription.Name; this.SubItems.Add(feedSubscription.Url); }
public async Task <float> ScoreFeed([FromBody] FeedSubscription feedSubscription) { var modelBuilder = new ModelBuilder.ModelBuilder(_repository); return(await modelBuilder.ScoreFeed(feedSubscription)); }
public async Task Post([FromBody] FeedSubscription feedSubscription) { await _repository.SaveFeedSubscriptionAsync(feedSubscription); }