Example #1
0
        public void Update(AdMaterialInfo adMaterialInfo)
        {
            var adParms = new IDataParameter[]
            {
                GetParameter(ParmAdvertId, EDataType.Integer, adMaterialInfo.AdvID),
                GetParameter(ParmAdmaterialName, EDataType.NVarChar, 50, adMaterialInfo.AdMaterialName),
                GetParameter(ParmAdmaterialType, EDataType.VarChar, 50, EAdvTypeUtils.GetValue(adMaterialInfo.AdMaterialType)),
                GetParameter(ParmCode, EDataType.NText, adMaterialInfo.Code),
                GetParameter(ParmTextWord, EDataType.NVarChar, 255, adMaterialInfo.TextWord),
                GetParameter(ParmTextLink, EDataType.VarChar, 200, adMaterialInfo.TextLink),
                GetParameter(ParmTextColor, EDataType.VarChar, 10, adMaterialInfo.TextColor),
                GetParameter(ParmTextFontSize, EDataType.Integer, adMaterialInfo.TextFontSize),
                GetParameter(ParmImageUrl, EDataType.VarChar, 200, adMaterialInfo.ImageUrl),
                GetParameter(ParmImageLink, EDataType.VarChar, 200, adMaterialInfo.ImageLink),
                GetParameter(ParmImageWidth, EDataType.Integer, adMaterialInfo.ImageWidth),
                GetParameter(ParmImageHeight, EDataType.Integer, adMaterialInfo.ImageHeight),
                GetParameter(ParmImageAlt, EDataType.NVarChar, 50, adMaterialInfo.ImageAlt),
                GetParameter(ParmWeight, EDataType.Integer, adMaterialInfo.Weight),
                GetParameter(ParmIsEnabled, EDataType.VarChar, 18, adMaterialInfo.IsEnabled.ToString()),
                GetParameter(ParmAdmaterialId, EDataType.Integer, adMaterialInfo.AdMaterialID),
                GetParameter(ParmPublishmentsystemid, EDataType.Integer, adMaterialInfo.PublishmentSystemID),
            };

            ExecuteNonQuery(SqlUpdateAdmaterial, adParms);
        }
Example #2
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);
        }
Example #3
0
        public ArrayList GetAdMaterialInfoArrayList(int advertId, int publishmentSystemId)
        {
            var arraylist = new ArrayList();
            var parms     = new IDataParameter[]
            {
                GetParameter(ParmAdvertId, EDataType.Integer, advertId),
                GetParameter(ParmPublishmentsystemid, EDataType.Integer, publishmentSystemId)
            };

            using (var rdr = ExecuteReader(SqlSelectAllAdmaterialByAdverid, parms))
            {
                while (rdr.Read())
                {
                    var i = 0;
                    var adMaterialInfo = new AdMaterialInfo(GetInt(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i++), GetString(rdr, i++), EAdvTypeUtils.GetEnumType(GetString(rdr, i++)), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetInt(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i++), GetString(rdr, i++), GetInt(rdr, i++), GetBool(rdr, i));
                    arraylist.Add(adMaterialInfo);
                }
                rdr.Close();
            }

            return(arraylist);
        }
Example #4
0
        public AdMaterialInfo GetAdMaterialInfo(int adMaterialD, int publishmentSystemId)
        {
            AdMaterialInfo adMaterialInfo = null;

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

            using (var rdr = ExecuteReader(SqlSelectAdmaterial, parms))
            {
                if (rdr.Read())
                {
                    var i = 0;
                    adMaterialInfo = new AdMaterialInfo(GetInt(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i++), GetString(rdr, i++), EAdvTypeUtils.GetEnumType(GetString(rdr, i++)), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetInt(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i++), GetString(rdr, i++), GetInt(rdr, i++), GetBool(rdr, i));
                }
                rdr.Close();
            }

            return(adMaterialInfo);
        }
Example #5
0
        public static string GetImageHtml(PublishmentSystemInfo publishmentSystemInfo, AdMaterialInfo adMaterialInfo)
        {
            var attribute = string.Empty;
            var imgeHtml  = string.Empty;

            if (adMaterialInfo.ImageWidth > 0)
            {
                attribute += $@" width=""{adMaterialInfo.ImageWidth}""";
            }
            if (adMaterialInfo.ImageHeight > 0)
            {
                attribute += $@" height=""{adMaterialInfo.ImageHeight}""";
            }
            if (!string.IsNullOrEmpty(adMaterialInfo.ImageAlt))
            {
                attribute += $@" alt=""{adMaterialInfo.ImageAlt}""";
                attribute += $@" title=""{adMaterialInfo.ImageAlt}""";
            }
            imgeHtml = $@"
<a href=""{PageUtils.AddProtocolToUrl(PageUtility.ParseNavigationUrl(publishmentSystemInfo, adMaterialInfo.ImageLink))}"" target=""_blank""><img src=""{PageUtility
                .ParseNavigationUrl(publishmentSystemInfo, adMaterialInfo.ImageUrl)}"" {attribute} border=""0"" /></a>

";
            return(imgeHtml);
        }
Example #6
0
        public override void Submit_OnClick(object sender, EventArgs e)
        {
            if (Page.IsPostBack && Page.IsValid)
            {
                if (_isEdit == false)
                {
                    if (DataProvider.AdMaterialDao.IsExists(AdMaterialName.Text, PublishmentSystemId))
                    {
                        FailMessage($"名称为“{AdMaterialName.Text}”的广告物料已存在,请更改广告物料名称!");
                        return;
                    }
                }

                try
                {
                    if (_isEdit)
                    {
                        var adMaterialInfo = DataProvider.AdMaterialDao.GetAdMaterialInfo(_theAdMaterialId, PublishmentSystemId);
                        adMaterialInfo.AdMaterialName = AdMaterialName.Text;
                        adMaterialInfo.AdMaterialType = EAdvTypeUtils.GetEnumType(AdMaterialType.SelectedValue);
                        adMaterialInfo.IsEnabled      = TranslateUtils.ToBool(IsEnabled.SelectedValue);

                        adMaterialInfo.Code         = Code.Text;
                        adMaterialInfo.TextWord     = TextWord.Text;
                        adMaterialInfo.TextLink     = TextLink.Text;
                        adMaterialInfo.TextColor    = TextColor.Text;
                        adMaterialInfo.TextFontSize = TranslateUtils.ToInt(TextFontSize.Text);
                        adMaterialInfo.Weight       = TranslateUtils.ToInt(Weight.SelectedValue);
                        if (adMaterialInfo.AdMaterialType == EAdvType.Image)
                        {
                            adMaterialInfo.ImageUrl    = ImageUrl.Text;
                            adMaterialInfo.ImageLink   = ImageLink.Text;
                            adMaterialInfo.ImageWidth  = TranslateUtils.ToInt(ImageWidth.Text);
                            adMaterialInfo.ImageHeight = TranslateUtils.ToInt(ImageHeight.Text);
                            adMaterialInfo.ImageAlt    = ImageAlt.Text;
                        }
                        else if (adMaterialInfo.AdMaterialType == EAdvType.Flash)
                        {
                            adMaterialInfo.ImageUrl    = FlashUrl.Text;
                            adMaterialInfo.ImageWidth  = TranslateUtils.ToInt(FlashWidth.Text);
                            adMaterialInfo.ImageHeight = TranslateUtils.ToInt(FlashHeight.Text);
                        }

                        DataProvider.AdMaterialDao.Update(adMaterialInfo);
                        Body.AddSiteLog(PublishmentSystemId, "修改广告物料", $"广告物料名称:{adMaterialInfo.AdMaterialName}");

                        SuccessMessage("修改广告物料成功!");
                    }
                    else
                    {
                        var adMaterialInfo = new AdMaterialInfo(0, PublishmentSystemId, _advId, AdMaterialName.Text, EAdvTypeUtils.GetEnumType(AdMaterialType.SelectedValue), Code.Text, TextWord.Text, TextLink.Text, TextColor.Text, TranslateUtils.ToInt(TextFontSize.Text), ImageUrl.Text, ImageLink.Text, TranslateUtils.ToInt(ImageWidth.Text), TranslateUtils.ToInt(ImageHeight.Text), ImageAlt.Text, TranslateUtils.ToInt(Weight.SelectedValue), TranslateUtils.ToBool(IsEnabled.SelectedValue));
                        if (adMaterialInfo.AdMaterialType == EAdvType.Flash)
                        {
                            adMaterialInfo.ImageUrl    = FlashUrl.Text;
                            adMaterialInfo.ImageWidth  = TranslateUtils.ToInt(FlashWidth.Text);
                            adMaterialInfo.ImageHeight = TranslateUtils.ToInt(FlashHeight.Text);
                        }

                        DataProvider.AdMaterialDao.Insert(adMaterialInfo);

                        Body.AddSiteLog(PublishmentSystemId, "新增广告物料", $"广告物料名称:{adMaterialInfo.AdMaterialName}");

                        SuccessMessage("新增广告物料成功!");
                    }
                    PageUtils.CloseModalPageAndRedirect(Page, PageAdMaterial.GetRedirectUrl(PublishmentSystemId, _advId));
                }
                catch (Exception ex)
                {
                    FailMessage(ex, $"操作失败:{ex.Message}");
                }
            }
        }