private List <Banner> GetRandomBanners(int numberOfBanners, BannerTypeEnum bannerType, int?categoryId = null) { var allBanners = _bannerService.GetBannersByType(bannerType, false).ToList(); if (categoryId.HasValue) { allBanners = allBanners.Where(x => x.CategoryId == categoryId).ToList(); } if (allBanners.Count() <= numberOfBanners) { return(allBanners); } else { var resultBanners = new List <Banner>(); for (int i = 0; i < numberOfBanners; i++) { Random rnd = new Random(DateTime.UtcNow.Millisecond); int number = rnd.Next(1000); resultBanners.Add(allBanners[number % (allBanners.Count())]); allBanners.Remove(allBanners[number % (allBanners.Count())]); } return(resultBanners); } }
/// <summary> /// Get banner by type and by should it be displayed on homepage /// </summary> /// <param name="type">banner type</param> /// <param name="onHomePage">displayed on homepage</param> /// <returns>banner</returns> public IList <Banner> GetBannersByType(BannerTypeEnum type, bool onHomePage) { string key = string.Format(BANNER_BY_TYPE_KEY, (int)type, false); return(_cacheManager.Get(key, () => { var n = _bannerRepository.Table.Where(x => x.BannerTypeId == (int)type).ToList(); return n; })); }
object gridBanners_OnExternalDataBound(object sender, string sourceName, object parameter) { switch (sourceName.ToLowerCSafe()) { case "bannertype": BannerTypeEnum bannerType = (BannerTypeEnum)(int)parameter; return(HTMLHelper.HTMLEncode(ResHelper.GetString("banner.bannertype." + bannerType.ToString().ToLowerCSafe()))); case "hitsclicksleft": if (parameter == DBNull.Value) { return("<i>" + GetString("general.unlimited") + "</i>"); } int value = (int)parameter; if (value == 0) { return("<span class=\"StatusDisabled\">" + value + "</span>"); } return(value); case "delete": DataRow row = ((DataRowView)((GridViewRow)parameter).DataItem).Row; int?siteID = row.IsNull("BannerSiteID") ? (int?)null : ValidationHelper.GetInteger(row["BannerSiteID"], 0); string iconName; ImageButton button = ((ImageButton)sender); if (HasUserModifyPermission(siteID)) { iconName = "Delete"; } else { iconName = "Deletedisabled"; button.Enabled = false; } button.ImageUrl = GetImageUrl("Design/Controls/UniGrid/Actions/" + iconName + ".png"); break; } return(parameter); }
public static List <Banner> GetActiveBanners(BannerTypeEnum bannerType) { using (var context = new BackofficeUnitOfWork()) { return(context.Banner .Fetch() .Include(i => i.BannerType) .Where(i => i.Active && i.BannerType.Token == bannerType.ToString() && i.StartDate < DateTime.Now && (!i.DueDate.HasValue || i.DueDate.Value > DateTime.Now)) .Select(i => i) .OrderBy(i => Guid.NewGuid()) .ToList()); } }
object gridBanners_OnExternalDataBound(object sender, string sourceName, object parameter) { switch (sourceName.ToLowerCSafe()) { case "bannertype": BannerTypeEnum bannerType = (BannerTypeEnum)(int)parameter; return(HTMLHelper.HTMLEncode(ResHelper.GetString("BannerTypeEnum." + bannerType.ToString().ToLowerCSafe()))); case "hitsclicksleft": if (parameter == DBNull.Value) { return(GetString("general.unlimited")); } int value = (int)parameter; if (value == 0) { return("<span class=\"StatusDisabled\">" + value + "</span>"); } return(value); case "delete": DataRow row = ((DataRowView)((GridViewRow)parameter).DataItem).Row; int?siteID = row.IsNull("BannerSiteID") ? (int?)null : ValidationHelper.GetInteger(row["BannerSiteID"], 0); CMSGridActionButton button = ((CMSGridActionButton)sender); if (!HasUserModifyPermission(siteID)) { button.Enabled = false; } break; } return(parameter); }
private int GetBannerWidth(BannerTypeEnum type) { switch (type) { case BannerTypeEnum.HomePage: case BannerTypeEnum.Productpage: case BannerTypeEnum.TextPage: { return(238); } case BannerTypeEnum.CatalogPage: { return(720); } default: { return(238); } } }
private int GetBannerHeight(BannerTypeEnum type) { switch (type) { case BannerTypeEnum.HomePage: case BannerTypeEnum.Productpage: case BannerTypeEnum.TextPage: { return(140); } case BannerTypeEnum.CatalogPage: { return(100); } default: { return(140); } } }
public ActionResult BannerList(BannerTypeEnum bannerType, int numberOfBanners, int?CategoryId) { var banners = GetRandomBanners(numberOfBanners, bannerType, CategoryId); var model = new List <BannerModel>(); foreach (var banner in banners) { var bannerModel = new BannerModel(); bannerModel.Id = banner.Id; bannerModel.BannerType = banner.BannerType; bannerModel.DisplayOnHomePage = banner.DisplayOnMain; int picId = banner.PictureId; bannerModel.AltText = banner.Alt; bannerModel.NetBanner = banner.NetBanner; bannerModel.TitleText = banner.Title; bannerModel.ImageUrl = _pictureService.GetPictureUrl(picId, showDefaultPicture: false); bannerModel.Url = banner.Url; _customerActivityService.InsertActivity("PublicStore.BannerView", _localizationService.GetResource("ITBSFA.Banner.View"), _workContext.CurrentCustomer, Request.Url.ToString(), Request.UrlReferrer == null ? "" : Request.UrlReferrer.ToString(), bannerModel.Id, bannerModel.Id); model.Add(bannerModel); } return(View(model)); }
private void SetVisibility(BannerTypeEnum bannerType) { plcImage.Visible = bannerType == BannerTypeEnum.Image; plcPlain.Visible = bannerType == BannerTypeEnum.Plain; plcHtml.Visible = bannerType == BannerTypeEnum.HTML; }