示例#1
0
        public void Update(AdvInfo advInfo)
        {
            var adParms = new IDataParameter[]
            {
                GetParameter(ParmPublishmentsystemid, EDataType.Integer, advInfo.PublishmentSystemID),
                GetParameter(ParmAdvAreaid, EDataType.Integer, advInfo.AdAreaID),
                GetParameter(ParmAdvName, EDataType.NVarChar, 50, advInfo.AdvName),
                GetParameter(ParmSummary, EDataType.Text, advInfo.Summary),
                GetParameter(ParmIsEnabled, EDataType.VarChar, 18, advInfo.IsEnabled.ToString()),
                GetParameter(ParmIsDateLimited, EDataType.VarChar, 18, advInfo.IsDateLimited.ToString()),
                GetParameter(ParmStartDate, EDataType.DateTime, advInfo.StartDate),
                GetParameter(ParmEndDate, EDataType.DateTime, advInfo.EndDate),
                GetParameter(ParmLevelType, EDataType.NVarChar, 50, EAdvLevelTypeUtils.GetValue(advInfo.LevelType)),
                GetParameter(ParmLevel, EDataType.Integer, advInfo.Level),
                GetParameter(ParmIsWeight, EDataType.VarChar, 18, advInfo.IsWeight.ToString()),
                GetParameter(ParmWeight, EDataType.Integer, advInfo.Weight),
                GetParameter(ParmRotateType, EDataType.NVarChar, 50, EAdvRotateTypeUtils.GetValue(advInfo.RotateType)),
                GetParameter(ParmRotateInterval, EDataType.Integer, advInfo.RotateInterval),
                GetParameter(ParmNodeIdCollectionToChannel, EDataType.NVarChar, 4000, advInfo.NodeIDCollectionToChannel),
                GetParameter(ParmNodeIdCollectionToContent, EDataType.NVarChar, 4000, advInfo.NodeIDCollectionToContent),
                GetParameter(ParmFiletemplateIdCollection, EDataType.NVarChar, 4000, advInfo.FileTemplateIDCollection),
                GetParameter(ParmAdvId, EDataType.Integer, advInfo.AdvID)
            };

            ExecuteNonQuery(SqlUpdateAdv, adParms);
        }
示例#2
0
        protected void Submit1_ServerClick(object sender, EventArgs e)
        {
            AdvInfo ob = new AdvInfo();

            ob.title          = tbtitle.Text;
            ob.imgurl         = tbimgUrl.Text;
            ob.imglink        = tbimgLink.Text;
            ob.flyimagewidth  = int.Parse(tbFlyImageWidth.Text);
            ob.flyimageheight = int.Parse(tbFlyImageHeight.Text);
            ob.addtime        = Convert.ToDateTime(tbAddTime.Text);
            ob.flag           = this.rbFlag.SelectedValue == "1" ? true : false;


            AdvInfoService.InsertAdvInfo(ob);

            try
            {
                string script = "<script>if(confirm('是否继续添加?')){location='" + Request.Url.ToString() + "';}else{location='advInfo_add.aspx';}</script>";
                Response.Write(script);
                Response.End();
            }
            catch
            {
                ShowJs.ShowAndRedirect("添加失败!", "advInfo_add.aspx", this.Page);
            }
        }
示例#3
0
        public ArrayList GetAdvInfoArrayList(ETemplateType templateType, int adAreaId, int publishmentSystemId, int nodeId, int fileTemplateId)
        {
            var arraylist = new ArrayList();
            var strSql    = new StringBuilder();

            strSql.AppendFormat(@"SELECT AdvID,PublishmentSystemID,AdAreaID,AdvName,Summary, IsEnabled, IsDateLimited, StartDate, EndDate,LevelType,Level,IsWeight,Weight ,RotateType,RotateInterval,NodeIDCollectionToChannel,NodeIDCollectionToContent,FileTemplateIDCollection FROM (SELECT * FROM siteserver_Adv WHERE AdAreaID ={0} AND PublishmentSystemID ={1}) AS ADV", adAreaId, publishmentSystemId);
            if (templateType == ETemplateType.IndexPageTemplate || templateType == ETemplateType.ChannelTemplate)
            {
                strSql.AppendFormat(" WHERE NodeIDCollectionToChannel='{0}' OR NodeIDCollectionToChannel LIKE '{0},%' OR NodeIDCollectionToChannel LIKE '%,{0}' OR NodeIDCollectionToChannel LIKE '%,{0},%'", nodeId.ToString());
            }
            else if (templateType == ETemplateType.ContentTemplate)
            {
                strSql.AppendFormat(" WHERE NodeIDCollectionToContent='{0}' OR NodeIDCollectionToContent LIKE '{0},%' OR NodeIDCollectionToContent LIKE '%,{0}' OR NodeIDCollectionToContent LIKE '%,{0},%'", nodeId.ToString());
            }
            else if (templateType == ETemplateType.FileTemplate)
            {
                strSql.AppendFormat(" WHERE FileTemplateIDCollection='{0}' OR FileTemplateIDCollection LIKE '{0},%' OR FileTemplateIDCollection LIKE '%,{0}' OR FileTemplateIDCollection LIKE '%,{0},%'", fileTemplateId);
            }

            strSql.AppendFormat(@" ORDER BY StartDate ASC");
            using (var rdr = ExecuteReader(strSql.ToString()))
            {
                while (rdr.Read())
                {
                    var i       = 0;
                    var advInfo = new AdvInfo(GetInt(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetBool(rdr, i++), GetBool(rdr, i++), GetDateTime(rdr, i++), GetDateTime(rdr, i++), EAdvLevelTypeUtils.GetEnumType(GetString(rdr, i++)), GetInt(rdr, i++), GetBool(rdr, i++), GetInt(rdr, i++), EAdvRotateTypeUtils.GetEnumType(GetString(rdr, i++)), GetInt(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i));
                    arraylist.Add(advInfo);
                }
                rdr.Close();
            }

            return(arraylist);
        }
示例#4
0
        protected void sbEdit_ServerClick(object sender, EventArgs e)
        {
            if (Request["id"] != null)
            {
                try
                {
                    AdvInfo ob = AdvInfoService.GetAdvInfoById(int.Parse(Request["id"]));

                    if (ob != null)
                    {
                        ob.title          = tbtitle.Text;
                        ob.imgurl         = tbimgUrl.Text;
                        ob.imglink        = tbimgLink.Text;
                        ob.flyimagewidth  = int.Parse(tbFlyImageWidth.Text);
                        ob.flyimageheight = int.Parse(tbFlyImageHeight.Text);
                        ob.addtime        = Convert.ToDateTime(tbAddTime.Text);
                        ob.flag           = this.rbFlag.SelectedValue == "1" ? true : false;

                        AdvInfoService.UpdateAdvInfo(ob);
                    }
                }
                catch
                {
                    ShowJs.ShowAndRedirect("修改失败!", hdUrl.Value, this.Page);
                }
            }

            ShowJs.ShowAndRedirect("修改成功!", hdUrl.Value, this.Page);
        }
示例#5
0
        /*
         * 广告物料轮换
         * 均匀:随机获取广告物料,几率相等
         * 手动权重:去权重值最大的,权重相等则取最新的一条
         * 幻灯片轮换:图片大于1时有效,
         */
        public static AdMaterialInfo GetShowAdMaterialInfo(int publishmentSystemID, AdvInfo advInfo, out ArrayList adMaterialInfoList)
        {
            AdMaterialInfo adMaterialInfo = null;

            adMaterialInfoList = new ArrayList();
            var adMaterialInfoArrayList = DataProvider.AdMaterialDao.GetAdMaterialInfoArrayList(advInfo.AdvID, publishmentSystemID);

            if (adMaterialInfoArrayList.Count > 0)
            {
                if (advInfo.RotateType == EAdvRotateType.Equality)
                {
                    var rd    = new Random();
                    var index = rd.Next(0, adMaterialInfoArrayList.Count);
                    adMaterialInfo = adMaterialInfoArrayList[index] as AdMaterialInfo;
                }
                else if (advInfo.RotateType == EAdvRotateType.HandWeight)
                {
                    var index            = 0;
                    var maxWeight        = 0;
                    var adMaterialIDList = new Hashtable();
                    foreach (AdMaterialInfo info in adMaterialInfoArrayList)
                    {
                        index++;
                        if (info.Weight > maxWeight)
                        {
                            maxWeight = info.Weight;
                            adMaterialIDList.Add(maxWeight, index);
                        }
                    }
                    adMaterialInfo = adMaterialInfoArrayList[(int)adMaterialIDList[maxWeight] - 1] as AdMaterialInfo;
                }
                else if (advInfo.RotateType == EAdvRotateType.SlideRotate)
                {
                    foreach (AdMaterialInfo info in adMaterialInfoArrayList)
                    {
                        if (info.AdMaterialType == EAdvType.Image)
                        {
                            adMaterialInfoList.Add(info);
                        }
                    }
                }
            }
            return(adMaterialInfo);
        }
示例#6
0
        protected void Page_Load(object sender, EventArgs e)
        {
            //if (!LJH.Rank.IsModuleRank(1407))
            //{
            //    Response.Write("<div style='width:100%;margin-top:200px;text-align:center;color:red;'>您没有本模块的操作权限! 请与管理员联系!</div>");
            //    Response.End();
            // }

            if (Request["id"] != null)
            {
                sbEdit.Visible  = true;
                Submit1.Visible = false;
                btBack.Visible  = true;
            }
            else
            {
                sbEdit.Visible  = false;
                Submit1.Visible = true;
                btBack.Visible  = false;
            }
            if (!IsPostBack)
            {
                this.tbFlyImageHeight.Text = "100";
                this.tbFlyImageWidth.Text  = "100";
                tbAddTime.Text             = DateTime.Now.ToString();
                if (Request["id"] != null)
                {
                    hdUrl.Value = Request.UrlReferrer.ToString();
                    AdvInfo ob = AdvInfoService.GetAdvInfoById(int.Parse(Request["id"]));

                    if (ob != null)
                    {
                        this.tbtitle.Text     = ob.title;
                        tbimgUrl.Text         = ob.imgurl;
                        tbimgLink.Text        = ob.imglink;
                        tbFlyImageHeight.Text = ob.flyimageheight.ToString();
                        tbFlyImageWidth.Text  = ob.flyimagewidth.ToString();
                        tbAddTime.Text        = ob.addtime.ToString("yyyy-MM-dd");
                        rbFlag.SelectedValue  = ob.flag == true?"1":"0";
                    }
                }
            }
        }
示例#7
0
        public static AdvInfo GetAdvInfoByAdAreaName(ETemplateType templateType, string adAreaName, int publishmentSystemID, int channelID, int fileTemplateID)
        {
            AdvInfo advInfo    = null;
            var     adAreaInfo = DataProvider.AdAreaDao.GetAdAreaInfo(adAreaName, publishmentSystemID);

            if (adAreaInfo != null)
            {
                if (adAreaInfo.IsEnabled == false)
                {
                    return(null);
                }
                var advInfoList = DataProvider.AdvDao.GetAdvInfoArrayList(templateType, adAreaInfo.AdAreaID, publishmentSystemID, channelID, fileTemplateID);
                if (advInfoList.Count <= 0)
                {
                    return(null);
                }
                advInfo = GetShowAdvInfo(advInfoList);
            }
            return(advInfo);
        }
示例#8
0
        public AdvInfo GetAdvInfo(int advId, int publishmentSystemId)
        {
            AdvInfo advInfo = null;

            var parms = new IDataParameter[]
            {
                GetParameter(ParmAdvId, EDataType.Integer, advId),
                GetParameter(ParmPublishmentsystemid, EDataType.Integer, publishmentSystemId)
            };

            using (var rdr = ExecuteReader(SqlSelectAdv, parms))
            {
                if (rdr.Read())
                {
                    var i = 0;
                    advInfo = new AdvInfo(GetInt(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetBool(rdr, i++), GetBool(rdr, i++), GetDateTime(rdr, i++), GetDateTime(rdr, i++), EAdvLevelTypeUtils.GetEnumType(GetString(rdr, i++)), GetInt(rdr, i++), GetBool(rdr, i++), GetInt(rdr, i++), EAdvRotateTypeUtils.GetEnumType(GetString(rdr, i++)), GetInt(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i));
                }
                rdr.Close();
            }

            return(advInfo);
        }
示例#9
0
    /// <summary>
    /// 获取广告信息,在编辑器下无效
    /// </summary>
    /// <param name="info"></param>
    public static AdvInfo GetAdvInfo()
    {
        AdvInfo info = new AdvInfo();

        //编辑器下的信息
        if (Application.isEditor)
        {
            info.radid     = string.Empty;
            info.rsid      = string.Empty;
            info.PartnerID = "0";

            return(info);
        }

        string RadidKey   = "radid:";
        string rsidKey    = "rsid:";
        string PartnerKey = "Partner:";

        System.Collections.Generic.List <string> argList = new System.Collections.Generic.List <string>();
        argList.AddRange(System.Environment.GetCommandLineArgs());

        foreach (string arg in argList)
        {
            if (arg.Contains(RadidKey))
            {
                info.radid = arg.Replace(RadidKey, string.Empty);
            }
            if (arg.Contains(rsidKey))
            {
                info.rsid = arg.Replace(rsidKey, string.Empty);
            }
            if (arg.Contains(PartnerKey))
            {
                info.PartnerID = arg.Replace(PartnerKey, string.Empty);
            }
        }
        return(info);
    }
示例#10
0
        public override bool Init(IUIWnd wnd)
        {
            m_CurrentSelectGroup = 0;
            tempServer           = new gameview_select_server();

            mediator = wnd as UMediatorLogin;

            if (UserNameIFCombobox == null)
            {
                UserNameIFCombobox = GetTransform().GetComponentInChildren <UInputFieldCombobox>();
            }

            DistrictFrame.gameObject.SetActive(false);

            GetUserNameFromLocalConfig();
            //GetIPAddressFromLocalConfig();

            ServerList.onButtonGroupSelectedChange.AddListener(OnselectedServerChanged);
            LastEnterServerList.onButtonGroupSelectedChange.AddListener(OnselectedServerChanged);
            DistrictSearchInputField.onValueChanged.AddListener(OnSearchInputFieldChanged);

            UpdateDistrictList();
            UpdateServerInfo();

            if (!Debug.isDebugBuild)
            {
                InitForRelease();
                //发布版走外网注册网址
                m_strRegisterURL = "http://passport.q1.com/zhuce.html";
            }

            AdvInfo info = GameUtil.GetAdvInfo();

            m_strRegisterURL += "?" + "radid=" + info.radid + "&" +
                                "rsid=" + info.rsid + "&gameid=7";

            return(base.Init(wnd));
        }
示例#11
0
        private static AtomEntry ExportAdInfo(AdvInfo advInfo)
        {
            var entry = AtomUtility.GetEmptyEntry();

            //AtomUtility.AddDcElement(entry.AdditionalElements, "AdName", adInfo.AdName);
            //AtomUtility.AddDcElement(entry.AdditionalElements, "PublishmentSystemID", adInfo.PublishmentSystemID.ToString());
            //AtomUtility.AddDcElement(entry.AdditionalElements, "AdType", EAdTypeUtils.GetValue(adInfo.AdType));
            //AtomUtility.AddDcElement(entry.AdditionalElements, "Code", AtomUtility.Encrypt(adInfo.Code));//加密
            //AtomUtility.AddDcElement(entry.AdditionalElements, "TextWord", adInfo.TextWord);
            //AtomUtility.AddDcElement(entry.AdditionalElements, "TextLink", adInfo.TextLink);
            //AtomUtility.AddDcElement(entry.AdditionalElements, "TextColor", adInfo.TextColor);
            //AtomUtility.AddDcElement(entry.AdditionalElements, "TextFontSize", adInfo.TextFontSize.ToString());
            //AtomUtility.AddDcElement(entry.AdditionalElements, "ImageUrl", adInfo.ImageUrl);
            //AtomUtility.AddDcElement(entry.AdditionalElements, "ImageLink", adInfo.ImageLink);
            //AtomUtility.AddDcElement(entry.AdditionalElements, "ImageWidth", adInfo.ImageWidth.ToString());
            //AtomUtility.AddDcElement(entry.AdditionalElements, "ImageHeight", adInfo.ImageHeight.ToString());
            //AtomUtility.AddDcElement(entry.AdditionalElements, "ImageAlt", adInfo.ImageAlt);
            //AtomUtility.AddDcElement(entry.AdditionalElements, "IsEnabled", adInfo.IsEnabled.ToString());
            //AtomUtility.AddDcElement(entry.AdditionalElements, "IsDateLimited", adInfo.IsDateLimited.ToString());
            //AtomUtility.AddDcElement(entry.AdditionalElements, "StartDate", adInfo.StartDate.ToLongDateString());
            //AtomUtility.AddDcElement(entry.AdditionalElements, "EndDate", adInfo.EndDate.ToLongDateString());

            return(entry);
        }
示例#12
0
        public void Main(int publishmentSystemId, int uniqueId, string area, int channelId, int fileTemplateId, string templateType)
        {
            var publishmentSystemInfo = PublishmentSystemManager.GetPublishmentSystemInfo(publishmentSystemId);
            var eTemplateType         = ETemplateTypeUtils.GetEnumType(templateType);

            if (!string.IsNullOrEmpty(area) && !string.IsNullOrEmpty(templateType))
            {
                AdvInfo advInfo = null;
                if (eTemplateType == ETemplateType.IndexPageTemplate || eTemplateType == ETemplateType.ChannelTemplate || eTemplateType == ETemplateType.ContentTemplate)
                {
                    advInfo = AdvManager.GetAdvInfoByAdAreaName(eTemplateType, area, publishmentSystemId, channelId, 0);
                }
                else if (eTemplateType == ETemplateType.FileTemplate)
                {
                    advInfo = AdvManager.GetAdvInfoByAdAreaName(eTemplateType, area, publishmentSystemId, 0, fileTemplateId);
                }
                if (advInfo != null)
                {
                    ArrayList adMaterialInfoList;
                    var       adMaterialInfo = AdvManager.GetShowAdMaterialInfo(publishmentSystemId, advInfo, out adMaterialInfoList);
                    if (advInfo.RotateType == EAdvRotateType.Equality || advInfo.RotateType == EAdvRotateType.HandWeight)
                    {
                        if (adMaterialInfo.AdMaterialType == EAdvType.HtmlCode)
                        {
                            HttpContext.Current.Response.Write($@"<!--
document.write('{StringUtils.ToJsString(adMaterialInfo.Code)}');
-->
");
                        }
                        else if (adMaterialInfo.AdMaterialType == EAdvType.Text)
                        {
                            var style = string.Empty;
                            if (!string.IsNullOrEmpty(adMaterialInfo.TextColor))
                            {
                                style += $"color:{adMaterialInfo.TextColor};";
                            }
                            if (adMaterialInfo.TextFontSize > 0)
                            {
                                style += $"font-size:{adMaterialInfo.TextFontSize}px;";
                            }
                            HttpContext.Current.Response.Write($@"<!--
document.write('<a href=""{PageUtils.AddProtocolToUrl(PageUtility.ParseNavigationUrl(publishmentSystemInfo, adMaterialInfo.TextLink))}"" target=""_blank"" style=""{style}"">{StringUtils.ToJsString(adMaterialInfo.TextWord)}</a>\r\n');
-->
");
                        }
                        else if (adMaterialInfo.AdMaterialType == EAdvType.Image)
                        {
                            var attribute = string.Empty;
                            if (adMaterialInfo.ImageWidth > 0)
                            {
                                attribute += $@" width=""{adMaterialInfo.ImageWidth}""";
                            }
                            if (adMaterialInfo.ImageHeight > 0)
                            {
                                attribute += $@" height=""{adMaterialInfo.ImageHeight}""";
                            }
                            if (!string.IsNullOrEmpty(adMaterialInfo.ImageAlt))
                            {
                                attribute += $@" title=""{adMaterialInfo.ImageAlt}""";
                            }
                            HttpContext.Current.Response.Write($@"<!--
document.write('<a href=""{PageUtils.AddProtocolToUrl(PageUtility.ParseNavigationUrl(publishmentSystemInfo, adMaterialInfo.ImageLink))}"" target=""_blank""><img src=""{PageUtility.ParseNavigationUrl(publishmentSystemInfo, adMaterialInfo.ImageUrl)}"" {attribute} border=""0"" /></a>\r\n');
-->
");
                        }
                        else if (adMaterialInfo.AdMaterialType == EAdvType.Flash)
                        {
                            var imageUrl = PageUtility.ParseNavigationUrl(publishmentSystemInfo,
                                                                          adMaterialInfo.ImageUrl);
                            HttpContext.Current.Response.Write($@"<!--
document.write('<div id=""flashcontent_{uniqueId}""></div>');
var so_{uniqueId} = new SWFObject(""{imageUrl}"", ""flash_{uniqueId}"", ""{adMaterialInfo.ImageWidth}"", ""{adMaterialInfo.ImageHeight}"", ""7"", """");

so_{uniqueId}.addParam(""quality"", ""high"");
so_{uniqueId}.addParam(""wmode"", ""transparent"");

so_{uniqueId}.write(""flashcontent_{uniqueId}"");
-->
");
                        }
                    }
                }
            }

            HttpContext.Current.Response.End();
        }
示例#13
0
        public override void Submit_OnClick(object sender, EventArgs e)
        {
            if (Page.IsPostBack && Page.IsValid)
            {
                try
                {
                    if (_isEdit)
                    {
                        var advInfo = DataProvider.AdvDao.GetAdvInfo(_advId, PublishmentSystemId);
                        advInfo.AdvName                   = AdvName.Text;
                        advInfo.IsEnabled                 = TranslateUtils.ToBool(IsEnabled.SelectedValue);
                        advInfo.IsDateLimited             = IsDateLimited.Checked;
                        advInfo.StartDate                 = TranslateUtils.ToDateTime(StartDate.Text);
                        advInfo.EndDate                   = TranslateUtils.ToDateTime(EndDate.Text);
                        advInfo.NodeIDCollectionToChannel = ControlUtils.GetSelectedListControlValueCollection(NodeIDCollectionToChannel);
                        advInfo.NodeIDCollectionToContent = ControlUtils.GetSelectedListControlValueCollection(NodeIDCollectionToContent);
                        advInfo.FileTemplateIDCollection  = ControlUtils.GetSelectedListControlValueCollection(FileTemplateIDCollection);
                        advInfo.LevelType                 = EAdvLevelTypeUtils.GetEnumType(LevelType.SelectedValue);
                        advInfo.Level          = TranslateUtils.ToInt(Level.SelectedValue);
                        advInfo.IsWeight       = IsWeight.Checked;
                        advInfo.Weight         = TranslateUtils.ToInt(Weight.SelectedValue);
                        advInfo.RotateType     = EAdvRotateTypeUtils.GetEnumType(RotateType.SelectedValue);
                        advInfo.RotateInterval = TranslateUtils.ToInt(RotateInterval.Text);
                        advInfo.Summary        = Summary.Text;

                        DataProvider.AdvDao.Update(advInfo);

                        Body.AddSiteLog(PublishmentSystemId, "修改固定广告", $"广告名称:{advInfo.AdvName}");
                        SuccessMessage("修改广告成功!");
                    }
                    else
                    {
                        var advInfo = new AdvInfo();
                        advInfo.AdAreaID                  = _adAreadId;
                        advInfo.PublishmentSystemID       = PublishmentSystemId;
                        advInfo.AdvName                   = AdvName.Text;
                        advInfo.Summary                   = Summary.Text;
                        advInfo.IsEnabled                 = TranslateUtils.ToBool(IsEnabled.SelectedValue);
                        advInfo.IsDateLimited             = IsDateLimited.Checked;
                        advInfo.StartDate                 = TranslateUtils.ToDateTime(StartDate.Text);
                        advInfo.EndDate                   = TranslateUtils.ToDateTime(EndDate.Text);
                        advInfo.NodeIDCollectionToChannel = ControlUtils.GetSelectedListControlValueCollection(NodeIDCollectionToChannel);
                        advInfo.NodeIDCollectionToContent = ControlUtils.GetSelectedListControlValueCollection(NodeIDCollectionToContent);
                        advInfo.FileTemplateIDCollection  = ControlUtils.GetSelectedListControlValueCollection(FileTemplateIDCollection);
                        advInfo.LevelType                 = EAdvLevelTypeUtils.GetEnumType(LevelType.SelectedValue);
                        advInfo.Level          = TranslateUtils.ToInt(Level.SelectedValue);
                        advInfo.IsWeight       = IsWeight.Checked;
                        advInfo.Weight         = TranslateUtils.ToInt(Weight.SelectedValue);
                        advInfo.RotateType     = EAdvRotateTypeUtils.GetEnumType(RotateType.SelectedValue);
                        advInfo.RotateInterval = TranslateUtils.ToInt(RotateInterval.Text);

                        DataProvider.AdvDao.Insert(advInfo);
                        Body.AddSiteLog(PublishmentSystemId, "新增固定广告", $"广告名称:{advInfo.AdvName}");
                        SuccessMessage("新增广告成功!");
                    }

                    AddWaitAndRedirectScript(PageAdv.GetRedirectUrl(PublishmentSystemId, _adAreadId));
                }
                catch (Exception ex)
                {
                    FailMessage(ex, $"操作失败:{ex.Message}");
                }
            }
        }
示例#14
0
        public static string GetSlideAdvHtml(PublishmentSystemInfo publishmentSystemInfo, AdAreaInfo adAreaInfo, AdvInfo advInfo, ArrayList adMaterialInfoList)
        {
            var strHtml = new StringBuilder();

            strHtml.Append($@"<link href=""{SiteFilesAssets.GetUrl(publishmentSystemInfo.Additional.ApiUrl, "Styles/Css/slideAdv.css")}"" rel=""stylesheet"" />");
            strHtml.Append($@"<script src=""{SiteFilesAssets.GetUrl(publishmentSystemInfo.Additional.ApiUrl, "JQuery/jquery-1.4.3.min.js")}""></script>");
            strHtml.AppendFormat(@"
<script type=""text/javascript"">
    var t = n = 0, count;
    $(document).ready(function () {{
        count = $(""#banner_list a"").length;
        $(""#banner_list a:not(:first-child)"").hide();
        $(""#banner_info"").html($(""#banner_list a:first-child"").find(""img"").attr('alt'));
        $(""#banner_info"").click(function () {{
            window.open($(""#banner_list a:first-child"").attr('href'), ""_blank"")
        }});
        $(""#banner li"").click(function () {{
            var i = $(this).text() - 1; 
            n = i;
            if (i >= count) return;
            $(""#banner_info"").html($(""#banner_list a"").eq(i).find(""img"").attr('alt'));
            $(""#banner_info"").unbind().click(function () {{
                window.open($(""#banner_list a"").eq(i).attr('href'),
               ""_blank"")
            }})
            $(""#banner_list a"").filter("":visible"").fadeOut(500).parent().children().eq(i).fadeIn(1000);
            document.getElementById(""banner"").style.background = """";
            $(this).toggleClass(""on"");
            $(this).siblings().removeAttr(""class"");
        }});
        t = setInterval(""showAuto()"", {0}000);
        $(""#banner"").hover(function () {{ clearInterval(t) }}, function () {{
            t = setInterval(""showAuto()"", {0}000);
        }});
    }})
   function showAuto() {{
        n = n >= (count - 1) ? 0 : ++n;
        $(""#banner li"").eq(n).trigger('click');
    }}
</script>
", advInfo.RotateInterval);

            strHtml.AppendFormat(@"<div id=""banner"" style=""width:{0}px;height:{1}px;"">", adAreaInfo.Width, adAreaInfo.Height);
            strHtml.AppendFormat(@"<div id=""banner_bg""></div> <!--标题背景-->");
            strHtml.AppendFormat(@"<div id=""banner_info""></div><ul> <!--标题-->");
            if (adMaterialInfoList.Count == 1)
            {
                var info = adMaterialInfoList[0] as AdMaterialInfo;
                strHtml.AppendFormat(@"<li class=""on"">1</li></ul><div id=""banner_list"">");
                strHtml.AppendFormat(GetImageHtml(publishmentSystemInfo, info));
                strHtml.AppendFormat(@"</div></div>");
            }
            else if (adMaterialInfoList.Count > 1)
            {
                var index = 0;
                foreach (AdMaterialInfo info in adMaterialInfoList)
                {
                    index++;
                    if (index == 1)
                    {
                        strHtml.AppendFormat(@"<li class=""on"">1</li>");
                    }
                    else
                    {
                        if (index != adMaterialInfoList.Count)
                        {
                            strHtml.AppendFormat(@"<li>{0}</li>", index);
                        }
                        else
                        {
                            strHtml.AppendFormat(@"<li>{0}</li>", index);
                            strHtml.AppendFormat(@"</ul><div id=""banner_list"">");
                        }
                    }
                }
                foreach (AdMaterialInfo info in adMaterialInfoList)
                {
                    strHtml.AppendFormat(GetImageHtml(publishmentSystemInfo, info));
                }
                strHtml.AppendFormat(@"</div></div>");
            }

            return(strHtml.ToString());
        }
示例#15
0
        /*
         * 优先级:独占大于标准
         * 独占:不设置权重,按开始时间正序取第一条;设置权重,取权重最大的一条
         * 标准:一个等级相当于10个权重值,随机获取,等级和权重高的获取的几率比较大
         */
        public static AdvInfo GetShowAdvInfo(ArrayList advInfoList)
        {
            var     index               = 0;
            var     maxWeight           = 0;
            var     isSetWeight         = false;
            AdvInfo advInfo             = null;
            var     advIDList           = new ArrayList();
            var     advWeights          = new Hashtable();
            var     holdAdvInfoList     = new ArrayList();
            var     standardAdvInfoList = new ArrayList();

            foreach (AdvInfo info in advInfoList)
            {
                index++;
                if (info.IsDateLimited)
                {
                    if (info.StartDate > DateTime.Now || info.EndDate < DateTime.Now)
                    {
                        continue;
                    }
                }
                if (info.LevelType == EAdvLevelType.Hold)
                {
                    if (info.IsWeight == true)
                    {
                        isSetWeight = true;
                        if (info.Weight > maxWeight)
                        {
                            maxWeight = info.Weight;
                            advWeights.Add(maxWeight, index);
                        }
                    }
                    holdAdvInfoList.Add(info);
                }
                else if (info.LevelType == EAdvLevelType.Standard)
                {
                    var k = 0;
                    if (info.IsWeight == false)
                    {
                        k = info.Level * 10 + info.Weight;
                    }
                    else
                    {
                        k = info.Level * 10;
                    }
                    for (var j = 0; j < k; j++)
                    {
                        advIDList.Add(info.AdvID);
                    }
                    standardAdvInfoList.Add(info);
                }
            }
            if (holdAdvInfoList.Count > 0)
            {
                if (isSetWeight == false)
                {
                    advInfo = holdAdvInfoList[0] as AdvInfo;
                }
                else
                {
                    advInfo = holdAdvInfoList[(int)advWeights[maxWeight] - 1] as AdvInfo;
                }
            }
            else
            {
                if (standardAdvInfoList.Count > 0)
                {
                    var rd     = new Random();
                    var index1 = rd.Next(0, advIDList.Count);
                    foreach (AdvInfo info in standardAdvInfoList)
                    {
                        if (info.AdvID == (int)advIDList[index1])
                        {
                            advInfo = info;
                        }
                    }
                }
            }
            return(advInfo);
        }
示例#16
0
        public string CreatePreAdv(string advTitle, string areaId, string rewardStr, int count)
        {
            WorkspaceDataSaveResult saveResult = new WorkspaceDataSaveResult();

            var rewardIds = rewardStr.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
            var allReward = db.RewardType.Where(p => rewardIds.Contains(p.RewardTypeId.ToString())).OrderBy(p => p.RewardValue).ToList();
            //calc totalcost
            var     averageCount = count / rewardIds.Length;
            var     levValue     = count % rewardIds.Length;
            decimal totalValue   = 0;

            for (int i = 0; i < allReward.Count; i++)
            {
                if (i < allReward.Count - 1)
                {
                    totalValue += averageCount * allReward[i].RewardValue;
                }
                else
                {
                    totalValue += (averageCount + levValue) * allReward[i].RewardValue;
                }
            }
            var incomeStatusId = SystemStaticData.LookUpSystemIncomeStatusId(SystemStaticData.SystemIncomeDictionary.Normal);
            var inCo           = db.SystemConfig.FirstOrDefault(p => p.Status == incomeStatusId);

            totalValue += count * inCo.SystemIncomeValue;
            //检测账户余额是否够
            var userAccount = db.UserAccount.First(p => p.UserId == this.CurrentLoginUserId);

            if (userAccount.AccountBalance < totalValue)
            {
                saveResult.Status      = (int)DataSaveStatus.DataValidationError;
                saveResult.Description = "账户余额不足,请联系管理员充值";
                return(new JavaScriptSerializer().Serialize(saveResult));
            }
            //sava adv
            AdvInfo adv = new AdvInfo();

            adv.AdvTitle = advTitle;
            //adv.AreaId = areaId;
            adv.TotalCount    = count;
            adv.TotalCash     = totalValue;
            adv.RemainderCash = totalValue;
            adv.CreateAt      = DateTime.Now;
            adv.UserId        = this.CurrentLoginUserId;
            adv.Status        = SystemStaticData.LookUpAdvStatusId(SystemStaticData.AdvDictionary.Prepare);
            db.AdvInfo.Add(adv);
            db.SaveChanges();
            //save advArea
            var publishToAreaIds = areaId.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);

            foreach (var aId in publishToAreaIds)
            {
                AdvInfoArea advInfoArea = new AdvInfoArea();
                advInfoArea.AdvId  = adv.AdvId;
                advInfoArea.AreaId = int.Parse(aId);
                db.AdvInfoArea.Add(advInfoArea);
            }

            //save adv reward
            foreach (var id in rewardIds)
            {
                AdvReward reward = new AdvReward();
                reward.RewardTypeId = int.Parse(id);
                reward.AdvId        = adv.AdvId;
                db.AdvReward.Add(reward);
            }
            //扣款
            userAccount.AccountBalance -= totalValue;
            //记录账户日志
            AccountHistory accountHistory = new AccountHistory();

            accountHistory.CreateAt    = DateTime.Now;
            accountHistory.AccountId   = userAccount.AccountId;
            accountHistory.ChangeValue = -totalValue;
            accountHistory.ComeFrom    = "发布广告";
            db.AccountHistory.Add(accountHistory);
            db.SaveChanges();
            saveResult.Status      = (int)DataSaveStatus.Success;
            saveResult.Description = "申请成功,请联系管理员进行广告内容制作";
            return(new JavaScriptSerializer().Serialize(saveResult));
        }