Example #1
0
        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);
        }
Example #2
0
        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"));
        }