Ejemplo n.º 1
0
 public ActionResult _DisplayPublishedNews(DisplayPublishedNewsViewModel Model)
 {
     try
     {
         Model = _newsService.GetDisplayPublishedNewsViewModel(Model.Pattern, Model.StartAt, Model.PageSize);
     }
     catch (Exception e)
     {
         Commons.Logger.GenerateError(e, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType, "Model.Pattern = " + Model.Pattern);
         return(Content("ERROR"));
     }
     return(PartialView(Model));
 }
Ejemplo n.º 2
0
        public DisplayPublishedNewsViewModel GetDisplayPublishedNewsViewModel(string Pattern, int StartAt, int PageSize)
        {
            DisplayPublishedNewsViewModel model = new DisplayPublishedNewsViewModel();

            try
            {
                model.Pattern  = Pattern;
                model.PageSize = PageSize;
                model.StartAt  = StartAt;
                if (Pattern == null)
                {
                    Pattern = "";
                }
                Pattern = Pattern.ToLower();

                var News = new List <News>();
                if (String.IsNullOrWhiteSpace(Pattern) && StartAt >= 0 && PageSize >= 0)
                {
                    var FulNewsList = _newsRepo.FindAllBy(n => n.PublishDate <= DateTime.UtcNow).ToList();
                    model.Count = FulNewsList.Count;
                    News        = FulNewsList.OrderByDescending(e => e.Id).Skip(StartAt).Take(PageSize).ToList();
                }
                else
                {
                    News = _newsRepo.FindAllBy(n => n.PublishDate <= DateTime.UtcNow).OrderByDescending(e => e.Id).ToList();
                }

                foreach (var news in News)
                {
                    NewsItem newsItem = TransformNewsIntoNewsItem(news);
                    if (news != null)
                    {
                        model.NewsList.Add(newsItem);
                    }
                }

                if (!String.IsNullOrWhiteSpace(Pattern) && StartAt >= 0 && PageSize >= 0)
                {
                    IEnumerable <NewsItem> resultIEnumerable = model.NewsList as IEnumerable <NewsItem>;
                    resultIEnumerable = resultIEnumerable.Where(a => (a.Title != null && a.Title.Contains(Pattern)) || (a.MailSubject != null && a.MailSubject.Contains(Pattern)) || (a.Description != null && a.Description.Contains(Pattern)) || a.Id.ToString().Contains(Pattern) || a.TypeName.Contains(Pattern) || (a.TypeUserMailingName != null && a.TypeUserMailingName.Contains(Pattern)) || (a.PublishDate != null && a.PublishDate.ToString().Contains(Pattern)));
                    model.Count       = resultIEnumerable.ToList().Count;
                    model.NewsList    = resultIEnumerable.OrderByDescending(a => a.Id).Skip(StartAt).Take(PageSize).ToList();
                }
            }
            catch (Exception e)
            {
                Commons.Logger.GenerateError(e, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType, "Pattern = " + Pattern);
            }
            return(model);
        }