Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        /// <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);
    }
Ejemplo n.º 4
0
 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);
    }
Ejemplo n.º 6
0
        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);
            }
            }
        }
Ejemplo n.º 7
0
        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);
            }
            }
        }
Ejemplo n.º 8
0
        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;
 }
 private void SetVisibility(BannerTypeEnum bannerType)
 {
     plcImage.Visible = bannerType == BannerTypeEnum.Image;
     plcPlain.Visible = bannerType == BannerTypeEnum.Plain;
     plcHtml.Visible = bannerType == BannerTypeEnum.HTML;
 }