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); }
/* * 广告物料轮换 * 均匀:随机获取广告物料,几率相等 * 手动权重:去权重值最大的,权重相等则取最新的一条 * 幻灯片轮换:图片大于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); }
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); }
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); }
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); }
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}"); } } }