⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 advertisement.cs

📁 动易SiteFactory&#8482 网上商店系统1.0源代码
💻 CS
字号:
namespace PowerEasy.AD
{
    using PowerEasy.Common;
    using PowerEasy.Components;
    using PowerEasy.Enumerations;
    using PowerEasy.IDal.AD;
    using PowerEasy.Model.AD;
    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.Text;
    using System.Web;

    public sealed class Advertisement
    {
        private static readonly IAdvertisement dal = DataAccess.CreateAdvertisement();

        private Advertisement()
        {
        }

        public static DataActionState Add(AdvertisementInfo advertisementInfo)
        {
            DataActionState unknown = DataActionState.Unknown;
            EncodeAdvertisementInfo(advertisementInfo);
            if (dal.Add(advertisementInfo))
            {
                unknown = DataActionState.Successed;
            }
            return unknown;
        }

        public static bool CancelPassed(string id)
        {
            bool flag = false;
            if (!string.IsNullOrEmpty(id))
            {
                flag = dal.CancelPassedAdvertisement(id);
            }
            return flag;
        }

        public static bool CopyAdvertisement(string id)
        {
            bool flag = false;
            if (!string.IsNullOrEmpty(id))
            {
                flag = dal.CopyAdvertisement(DataConverter.CLng(id));
            }
            return flag;
        }

        private static void DecodeAdvertisementInfo(AdvertisementInfo advertisementInfo)
        {
            advertisementInfo.ADName = DataSecurity.HtmlDecode(advertisementInfo.ADName);
            advertisementInfo.ADIntro = DataSecurity.HtmlDecode(advertisementInfo.ADIntro);
            advertisementInfo.ImgUrl = DataSecurity.HtmlDecode(advertisementInfo.ImgUrl);
            advertisementInfo.LinkAlt = DataSecurity.HtmlDecode(advertisementInfo.LinkAlt);
            advertisementInfo.LinkUrl = DataSecurity.HtmlDecode(advertisementInfo.LinkUrl);
            advertisementInfo.Setting = DataSecurity.HtmlDecode(advertisementInfo.Setting);
            advertisementInfo.ZoneId = DataSecurity.HtmlDecode(advertisementInfo.ZoneId);
        }

        public static bool Delete(string id)
        {
            bool flag = false;
            if (DataValidator.IsValidId(id))
            {
                flag = dal.Delete(id);
            }
            return flag;
        }

        private static void EncodeAdvertisementInfo(AdvertisementInfo advertisementInfo)
        {
            advertisementInfo.ADName = DataSecurity.HtmlEncode(advertisementInfo.ADName);
            advertisementInfo.ADIntro = DataSecurity.HtmlEncode(advertisementInfo.ADIntro);
            advertisementInfo.ImgUrl = DataSecurity.HtmlEncode(advertisementInfo.ImgUrl);
            advertisementInfo.LinkAlt = DataSecurity.HtmlEncode(advertisementInfo.LinkAlt);
            advertisementInfo.LinkUrl = DataSecurity.HtmlEncode(advertisementInfo.LinkUrl);
            advertisementInfo.Setting = DataSecurity.HtmlEncode(advertisementInfo.Setting);
            advertisementInfo.ZoneId = DataSecurity.HtmlEncode(advertisementInfo.ZoneId);
        }

        public static string GetAdContent(AdvertisementInfo advertisementInfo)
        {
            StringBuilder builder2;
            StringBuilder builder = new StringBuilder();
            switch (advertisementInfo.ADType)
            {
                case 1:
                {
                    builder2 = new StringBuilder();
                    builder2.Append("<img src=\"");
                    string imgUrl = advertisementInfo.ImgUrl;
                    if ((!imgUrl.StartsWith("/") && !imgUrl.StartsWith("~/")) && (!imgUrl.StartsWith("http", StringComparison.CurrentCultureIgnoreCase) && !imgUrl.StartsWith("https", StringComparison.CurrentCultureIgnoreCase)))
                    {
                        builder2.Append(VirtualPathUtility.AppendTrailingSlash(HttpContext.Current.Request.ApplicationPath));
                        builder2.Append(VirtualPathUtility.AppendTrailingSlash(SiteConfig.SiteOption.UploadDir));
                        builder2.Append(imgUrl);
                        break;
                    }
                    if (HttpContext.Current.Request.ApplicationPath.Length == 1)
                    {
                        builder2.Append(imgUrl);
                    }
                    else
                    {
                        builder2.Append(HttpContext.Current.Request.ApplicationPath);
                        builder2.Append(imgUrl);
                    }
                    break;
                }
                case 2:
                    builder.Append("<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0\"");
                    if (advertisementInfo.ImgWidth > 0)
                    {
                        builder.Append(" width=\"");
                        builder.Append(advertisementInfo.ImgWidth);
                        builder.Append("\"");
                    }
                    if (advertisementInfo.ImgHeight > 0)
                    {
                        builder.Append("  height=\"");
                        builder.Append(advertisementInfo.ImgHeight);
                        builder.Append("\"");
                    }
                    builder.Append("><param name=\"movie\" value=\"");
                    builder.Append(VirtualPathUtility.AppendTrailingSlash(HttpContext.Current.Request.ApplicationPath));
                    builder.Append(VirtualPathUtility.AppendTrailingSlash(SiteConfig.SiteOption.UploadDir));
                    builder.Append(advertisementInfo.ImgUrl);
                    builder.Append("\">");
                    if (advertisementInfo.FlashWmode == 1)
                    {
                        builder.Append("<param name=\"wmode\" value=\"transparent\">");
                    }
                    builder.Append("<param name=\"quality\" value=\"autohigh\">");
                    builder.Append("<embed src=\"");
                    builder.Append(VirtualPathUtility.AppendTrailingSlash(HttpContext.Current.Request.ApplicationPath));
                    builder.Append(VirtualPathUtility.AppendTrailingSlash(SiteConfig.SiteOption.UploadDir));
                    builder.Append(advertisementInfo.ImgUrl);
                    builder.Append("\" quality=\"autohigh\"  pluginspage=\"http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash\" type=\"application/x-shockwave-flash\"");
                    if (advertisementInfo.FlashWmode == 1)
                    {
                        builder.Append(" wmode=\"transparent\" ");
                    }
                    if (advertisementInfo.ImgWidth > 0)
                    {
                        builder.Append(" width=\"");
                        builder.Append(advertisementInfo.ImgWidth);
                        builder.Append("\"");
                    }
                    if (advertisementInfo.ImgHeight > 0)
                    {
                        builder.Append("  height=\"");
                        builder.Append(advertisementInfo.ImgHeight);
                        builder.Append("\"");
                    }
                    builder.Append("></embed></object>");
                    goto Label_0428;

                case 3:
                    builder.Append(advertisementInfo.ADIntro);
                    goto Label_0428;

                case 4:
                    builder.Append(advertisementInfo.ADIntro);
                    goto Label_0428;

                case 5:
                    builder.Append("<iframe id=\"AD_");
                    builder.Append(advertisementInfo.ADId);
                    builder.Append("\" marginwidth=0 marginheight=0 hspace=0 vspace=0 frameborder=0 scrolling=no width=100% height=100% src=\"");
                    builder.Append(advertisementInfo.ADIntro);
                    builder.Append("\">AD</iframe>");
                    goto Label_0428;

                default:
                    goto Label_0428;
            }
            builder2.Append("\"");
            if (advertisementInfo.ImgWidth > 0)
            {
                builder2.Append(" width=\"");
                builder2.Append(advertisementInfo.ImgWidth);
                builder2.Append("\"");
            }
            if (advertisementInfo.ImgHeight > 0)
            {
                builder2.Append("  height=\"");
                builder2.Append(advertisementInfo.ImgHeight);
                builder2.Append("\"");
            }
            builder2.Append(" border=\"0\"></img>");
            if (!string.IsNullOrEmpty(advertisementInfo.LinkUrl))
            {
                builder.Append("<a href=\"");
                builder.Append(advertisementInfo.LinkUrl);
                builder.Append("\"");
                if (advertisementInfo.LinkTarget == 0)
                {
                    builder.Append(" target=\"_self\"");
                }
                else
                {
                    builder.Append(" target=\"_blank\"");
                }
                builder.Append(" title=\"");
                builder.Append(advertisementInfo.LinkAlt);
                builder.Append("\"");
                builder.Append(">");
                builder.Append(builder2.ToString());
                builder.Append("</a>");
            }
            else
            {
                builder = builder2;
            }
        Label_0428:
            return builder.ToString();
        }

        public static IList<AdvertisementInfo> GetADList(int zoneId)
        {
            return dal.GetADList(zoneId);
        }

        public static ArrayList GetADType()
        {
            ArrayList list = new ArrayList();
            list.Add("图片");
            list.Add("动画");
            list.Add("文本");
            list.Add("代码");
            list.Add("页面");
            return list;
        }

        public static AdvertisementInfo GetAdvertisementById(int id)
        {
            return GetAdvertisementById(id, true);
        }

        public static AdvertisementInfo GetAdvertisementById(int id, bool isDecode)
        {
            AdvertisementInfo advertisementById = dal.GetAdvertisementById(id);
            if (isDecode)
            {
                DecodeAdvertisementInfo(advertisementById);
            }
            return advertisementById;
        }

        public static IList<AdvertisementInfo> GetAdvertisementList(int startRowIndex, int maximumRows, int zoneId, ADSearchType listType, string keyword)
        {
            keyword = DataSecurity.HtmlEncode(keyword);
            return dal.GetAdvertisementList(startRowIndex, maximumRows, zoneId, listType, keyword);
        }

        public static IList<AdvertisementInfo> GetAdvertisementListByZoneId(int zoneId)
        {
            return dal.GetAdvertisementList(0, 0, zoneId, ADSearchType.Zone, null);
        }

        public static int GetTotalOfAdvertisements(int zoneId, ADSearchType listType, string keyword)
        {
            return dal.GetTotalOfAdvertisements();
        }

        public static bool Passed(string id)
        {
            bool flag = false;
            if (!string.IsNullOrEmpty(id))
            {
                flag = dal.PassedAdvertisement(id);
            }
            return flag;
        }

        public static DataActionState Update(AdvertisementInfo advertisementInfo)
        {
            DataActionState unknown = DataActionState.Unknown;
            EncodeAdvertisementInfo(advertisementInfo);
            if (dal.Update(advertisementInfo))
            {
                unknown = DataActionState.Successed;
            }
            return unknown;
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -