public FeedListViewModel GetFeeds(int page, int pageSize, string lang, bool showActive, bool showInactive, string sortOrder = "") { if (pageSize <= 0) { pageSize = 50; } var res = new FeedListViewModel(); res.PageIndex = (page > 0) ? page : 1; IQueryable <Feed> query = _ctx.Feeds.Include("AffectedInstrument"); query = string.IsNullOrEmpty(lang) ? query.Where(f => f.Active && showActive || !f.Active && showInactive) : query.Where(f => f.Language.Contains(lang) && ((f.Active && showActive) || (!f.Active && showInactive))); res.Feeds = new List <FeedViewModel>(); res.TotalPages = query.Count() / pageSize + 1; foreach (var item in query.OrderBy(f => f.ID).Skip(pageSize * (page - 1)).Take(pageSize).ToArray()) { res.Feeds.Add(new FeedViewModel { FeedEntity = item, articles = _ctx.Articles.Count(a => a.FeedID == item.ID), articlesWithTicker = _ctx.Articles.Count(a => a.FeedID == item.ID && !string.IsNullOrEmpty(a.Ticker)) }); } return(res); }
public ActionResult SalvaFeed(FeedListViewModel view) { if (ModelState.IsValid) { _feedRepository.SalvaFeed(view.TextoFeedNovo); _feedRepository.SaveChanges(); SetToast(new Toast(TipoToast.Success, "Feed Salvo com sucesso!")); RedirectToAction("Lista"); } else { SetToast(new Toast(TipoToast.Info, "insira um texto")); } return(RedirectToAction("Lista")); }