public virtual ActionResult Index(string Content, int PageIndex) { var model = new CatItemsPageModel(); var LastItemPubDate = DateTime.Now.AddMinutes(10); var catCurrent = _categoryBusiness.Get(Content); #region ViewBag ViewBag.EnTityRef = catCurrent.Id; ViewBag.Toggle = "1"; ViewBag.SearchTextDir = "text-align:right;direction:rtl;display:none"; ViewBag.Title = catCurrent.Title; ViewBag.ImageThumbnail = catCurrent.ImageThumbnail; ViewBag.Content = catCurrent.Code.Trim().ToLower(); ViewBag.PageHeader = "اخبار " + catCurrent.Title; ViewBag.KeyWords = string.IsNullOrEmpty(catCurrent.KeyWords) ? "" : catCurrent.KeyWords.Replace("-", ","); ViewBag.Discription = catCurrent.Description; ViewBag.CatCurrent = catCurrent; ViewBag.PageIndex = PageIndex + 1; ViewBag.PageCount = 15; #endregion var allcats = _categoryBusiness.GetList(catCurrent.Id).ToList(); allcats.Insert(0, catCurrent); var Id = catCurrent.Id; model.Items = _feedItemBusiness.FeedItemsByCat(Id, PageSize, PageIndex, false); model.VisualItems = _feedItemBusiness.FeedItemsByCat(Id, _appConfigBiz.GetVisualPostCount() + _appConfigBiz.GetVisualPostCount(), PageIndex, true); //-----------------Sub cat------------------- var SubCats = allcats.Where(x => x.ParentId == catCurrent.Id).ToList(); SubCats.ForEach(x => x.ParentId = 0); if (SubCats.Count() > 0) { ViewBag.Categorys = SubCats; var items = new List <SelectListItem>(); items.Add(new SelectListItem { Text = "همه مطالب", Value = catCurrent.Code }); foreach (var SubCat in SubCats) { items.Add(new SelectListItem { Text = SubCat.Title, Value = SubCat.Code }); } ViewBag.SubCats = items; } var allIds = allcats.Select(x => x.Id).ToList(); ViewBag.RelatedTags = _tagBusiness.GetList() .Where(t => t.Categories.Any(tc => allIds.Contains(tc.Id))).ToList(); //ViewBag.RelatedTags = context.Tags.Where(x => x.TagCategories.Where(c => c.Categorie_CatCurrent == ViewBag.CatCurrent.CatCurrent || c.Categorie_CatCurrent == ViewBag.CatCurrent.ParentId).Count() > 0).ToList(); //----------------Top Site in this Cat------- ViewBag.TopSites = _unitOfWork.Database.SqlQueryCache_FirstParam <SiteOnlyTitle>(120, "Sites_Select_TopByCat {0},{1}", catCurrent.Id, 15).ToList(); if (ViewBag.TopSites == null) { ViewBag.TopSites = _siteBusiness.GetTopSites(18, 120); } model.Posts = _postBiz.GetList().Where(p => !p.MetaData.IsDeleted && p.PublishDate < DateTime.Now && p.Categories.Any(pc => pc.Id == catCurrent.Id || pc.ParentId == catCurrent.Id)) .Take(_appConfigBiz.GetVisualPostCount()).ToList(); #region Tabs //ViewBag.RemoteWebParts = (from p in Ioc.DataContext.RemoteWebParts // where // p.Active == true && // p.Categories.Any(x => x.Id == catCurrent.Id) // select p).ToList(); //ViewBag.Pages = catCurrent.Posts.Where(p => p.PostType == PostType.Tab).ToList(); #endregion return(View("Index." + CmsConfig.ThemeName, model)); }
public virtual ActionResult Index() { var Model = new HomeViewModel(); #region colors Model.Colors = new List <string> { "rgba(8, 134, 190, 0.8)", "rgba(130, 181, 71, 0.8)", "rgba(120, 66, 147, 0.8) ", "rgba(255, 0, 57, 0.8)", "rgba(255, 117, 24, 0.8)", "rgba(39, 128, 227, 0.8)", "rgba(20, 156, 130, 0.8)", "rgba(153, 84, 187, 0.8)" }; Model.Colors.Reverse(); Model.Colors.AddRange(Model.Colors); Model.Colors.Reverse(); Model.Colors.AddRange(Model.Colors); #endregion #region ViewBag ViewBag.Title = "رسانه خبری"; ViewBag.Description = "تازه ترین و جدیدترین اخبار و فایل های صوتی و تصویری"; ViewBag.KeyWords = @"اخبار روز, اخبار ورزشی ,جدیدترین رادیوها,دانلود سخنرانی, خبرخوان,موتور جستجو,نرم افزار موبایل,farsi media"; ViewBag.EntityCode = "Home"; ViewBag.EntityRef = 0; ViewBag.defaultIndex = 1; #endregion #region Top Tags var itags = HttpContext.Cache.Get("IndexTags"); if (itags != null) { Model.TopTags = HttpContext.Cache.Get("IndexTags") as List <Tag>; } else { Model.TopTags = _tagBusiness.GetList().Where(t => t.InIndex && !string.IsNullOrEmpty(t.ImageThumbnail)).Shuffle().Take(40).ToList(); HttpContext.Cache.AddToCache("IndexTags", Model.TopTags, 40); } #endregion #region Items var cats = _categoryBusiness.GetList() .Where(x => x.ViewMode == Common.Share.ViewMode.Index || x.ViewMode == Common.Share.ViewMode.MenuIndex) .OrderByDescending(x => x.Priority).ToList(); foreach (var cat in cats.Take(8)) { var sliderModel = new SliderModel() { Code = cat.Code }; if (_appConfigBiz.GetConfig <bool>(Constants.EnabledOptions.IndexPhotoHeadlines)) { sliderModel.Items = _feedItemBusiness.GetList().Where(i => i.Feed.Categories.Any(c => (c.Id == cat.Id || c.ParentId == cat.Id) && i.HasPhoto)) .OrderByDescending(i => i.PubDate).Take(4).ToList().Select(i => new SliderItemModel() { Description = i.Description, Link = string.Concat("/site/", i.SiteUrl, "/", i.ItemId, "/", i.Title.RemoveBadCharacterInURL()), ImageURL = string.Concat("/", _appConfigBiz.VisualItemsPathVirtual().ToLower(), "/", i.Id, ".jpg"), PubDate = i.PubDate.Value, Title = i.Title, VisitsCount = i.VisitsCount, Refrence = i.SiteTitle }).ToList(); } var res = _feedItemBusiness.FeedItemsByCat(cat.Id, 12, 0, 10).ToList(); Model.CatItems.Add(new HomeItemsPanelViewModel() { ShowMoreBtn = true, Cat = cat, Items = res.ToList(), slider = sliderModel }); } Model.Categories = _categoryBusiness.GetList().Where(x => x.ViewMode != Common.Share.ViewMode.NotShow).ToList(); #endregion #region Post //Model.Posts = _postBiz.GetList().Where(p => p.PostType == PostType.News && !p.MetaData.IsDeleted && p.PublishDate <= DateTime.Now) // .Select(p => new PostModel() // { // Id = p.Id, // Title = p.Title, // SubTitle = p.SubTitle, // PublishDate = p.PublishDate, // PostImage = p.PostImage, // VisitCount = p.VisitCount, // LikeCount = p.LikeCount, // DislikeCount = p.DislikeCount, // }).Take(Ioc.AppConfigBiz.GetConfig<int>(Constants.Home.VisualPostCount)).ToList(); //Model.Videos = _postBiz.GetList().Where(p => p.PostType == PostType.Video && !p.MetaData.IsDeleted && p.PublishDate <= DateTime.Now) // .Select(p => new PostModel() // { // Id = p.Id, // Title = p.Title, // SubTitle = p.SubTitle, // PublishDate = p.PublishDate, // PostImage = p.PostImage, // VisitCount = p.VisitCount, // LikeCount = p.LikeCount, // DislikeCount = p.DislikeCount, // }).Take(Ioc.AppConfigBiz.GetConfig<int>(Constants.Home.VisualPostCount)).ToList(); #endregion #region MostVisited var mosteItems = _feedItemBusiness.MostVisitedItems("today", 10, 15, 10).ToList(); // if (mosteItems != null && mosteItems.Any()) Model.MostVisitedItems = new HomeItemsPanelViewModel() { Items = mosteItems.ToList(), Cat = new Category() { Code = "news", Title = "پربازدیدترین ها", Color = Model.Colors[2] }, // CssClass = "col-md-4", ShowMoreBtn = false }; #endregion #region Top Site Model.TopSites = _siteBusiness.GetTopSites(20, 120); #endregion return(View("Index." + CmsConfig.ThemeName, Model)); }
public virtual ActionResult Index(string Content, int PageIndex) { Content = Content.ReplaceX("www.", ""); var siteCurrents = _siteBusiness.GetList(Content); if (siteCurrents.Count() == 0) { var startw = Content.Remove(Content.LastIndexOf(".") + 1, Content.Length - Content.LastIndexOf(".") - 1); siteCurrents = _siteBusiness.GetList(startw); if (!siteCurrents.Any()) { return(RedirectToAction(MVC.Error.notfound())); } } var siteCurrent = siteCurrents.First(); #region ViewBag //ViewBag.EntityCode = "Site"; ViewBag.EnTityRef = siteCurrent.Id; ViewBag.Title = siteCurrent.SiteTitle + " " + siteCurrent.SiteUrl; ViewBag.Content = siteCurrent.SiteUrl; //ViewBag.KeyWords = siteCurrent.SiteTags; //ViewBag.PageSize = PageSize; ViewBag.SearchTextDir = "text-align:left;direction:ltr"; ViewBag.siteCurrent = siteCurrent; ViewBag.PageHeader = "تازه ترین های " + siteCurrent.SiteTitle + " (" + siteCurrent.SiteUrl + ")"; ViewBag.PageIndex = PageIndex + 1; ViewBag.KeyWords = "," + siteCurrent.SiteUrl + "," + siteCurrent.SiteTitle + ",اخبار روز,تازه ترین خبرها,خبرخوان"; ViewBag.Discription = "تازه ترین مطالب سایت " + siteCurrent.SiteTitle + " - " + siteCurrent.SiteUrl + " - " + siteCurrent.SiteDesc; #endregion var LastItemPubDate = DateTime.Now.AddMinutes(-15); var res = _feedItemBusiness.FeedItemsBySite(siteCurrent.Id, PageSize, PageIndex, false); if (res.Count == 0) { res = _feedItemBusiness.FeedItemsByCat(6, PageSize, PageIndex, false); } if (siteCurrent.HasImage != HasImage.NotSupport) { ViewBag.VisualItems = _feedItemBusiness.FeedItemsBySite(siteCurrent.Id, _appConfigBiz.GetVisualPostCount() + _appConfigBiz.GetVisualPostCount(), PageIndex, true); } #region Related Site //----------------Related Site by this site------- ViewBag.TopSites = siteCurrent.Feeds.SelectMany(f => f.Categories) .SelectMany(cf => cf.Feeds).Select(f2 => f2.Site).Take(20).ToList() .Select(s => new SiteOnlyTitle() { SiteUrl = s.SiteUrl, SiteTitle = s.SiteTitle }).DistinctBy(x => x.SiteUrl).ToList(); #endregion if (!(ViewBag.TopSites as List <SiteOnlyTitle>).Any()) { ViewBag.TopSites = _siteBusiness.GetTopSites(15, 120); } #region Tabs //var cats = siteCurrent.Feeds.SelectMany(f => f.Categories.Select(cf => cf.Id)).ToList(); //ViewBag.RemoteWebParts = Ioc.RemoteWpBiz.GetByCats(cats).ToList(); //ViewBag.Pages = _postBiz.GetList().Where(p => p.PostType == PostType.Tab && p.Categories.Any(pc => cats.Contains(pc.Id))).ToList(); #endregion return(View("Index." + CmsConfig.ThemeName, res)); }
public virtual ActionResult Index(string content, int PageIndex = 0) { if (string.IsNullOrEmpty(content)) { return(RedirectToAction(MVC.Tag.All())); } var Content = content.Trim(); var LastItemPubDate = DateTime.Now.AddMinutes(15); #region IfSite if (Utility.HasFaWord(Content) == false) { Content = Content.ReplaceX("www.", ""); if (Content.CountStringOccurrences(".") == 1 || Content.CountStringOccurrences(".") == 2) { if (Utility.UrlIsValid(Content) || Utility.UrlIsValid("www." + Content)) { return(Redirect("/site/" + Content)); //return RedirectToAction(MVC.Site.ActionNames.Index, MVC.Site.Name, new { Content = Content[Content.Count() - 1] == '/' ? Content : Content + "/", PageSize = PageSize, LastItemPubDate = LastItemPubDate }); } } } #endregion #region IfTag Tag TagCurrent = null; try { TagCurrent = _tagBusiness.Get(Content.Replace("_", " ")); if (TagCurrent == null) { var tagCandidate = _tagBusiness.GetList().Where(x => x.Value.Contains(content + "|") || x.Value.Contains("|" + content)).ToList(); if (tagCandidate.Any()) { TagCurrent = tagCandidate.First(); return(RedirectToAction(MVC.Tag.Index(TagCurrent.Title))); } } else { return(RedirectToAction(MVC.Tag.Index(TagCurrent.Title))); } } catch { //TagCurrent = context.Tags.Where(x => x.Value.Contains(Content)).First(); } #endregion #region IfNotFound var res = new List <FeedItem>(); res = _feedItemBusiness.FeedItemsByKey(Content, PageSize, PageIndex).ToList(); if (res.Count() < 3) { return(RedirectToAction(MVC.Search.ActionNames.Index, MVC.Search.Name, new { Content = Content })); } #endregion #region ViewBag ViewBag.PageSize = PageSize; ViewBag.Toggle = "1"; ViewBag.SearchTextDir = "text-align:right;direction:rtl"; ViewBag.Title = Content; ViewBag.Content = Content; ViewBag.SearchExpersion = Content; ViewBag.PageHeader = "نتیجه جستجو " + Content; ViewBag.RecentTags = _tagBusiness.RelevantTags(Content).ToList(); ViewBag.PageIndex = PageIndex + 1; #endregion if (string.IsNullOrEmpty(Content)) { return(RedirectToAction(MVC.Tag.Name, MVC.Tag.ActionNames.All, null)); } ViewBag.TopSites = _siteBusiness.GetTopSites(20, 120); res = _feedItemBusiness.DescriptClear(res, Content).ToList(); return(View("Index." + CmsConfig.ThemeName, res)); }