public void Insert(GatherRuleInfo gatherRuleInfo) { var insertParms = new IDataParameter[] { GetParameter(ParmGatherRuleName, EDataType.NVarChar, 50, gatherRuleInfo.GatherRuleName), GetParameter(ParmPublishmentSystemId, EDataType.Integer, gatherRuleInfo.PublishmentSystemId), GetParameter(ParmCookieString, EDataType.Text, gatherRuleInfo.CookieString), GetParameter(ParmGatherUrlIsCollection, EDataType.VarChar, 18, gatherRuleInfo.GatherUrlIsCollection.ToString()), GetParameter(ParmGatherUrlCollection, EDataType.Text, gatherRuleInfo.GatherUrlCollection), GetParameter(ParmGatherUrlIsSerialize, EDataType.VarChar, 18, gatherRuleInfo.GatherUrlIsSerialize.ToString()), GetParameter(ParmGatherUrlSerialize, EDataType.VarChar, 200, gatherRuleInfo.GatherUrlSerialize), GetParameter(ParmGatherSerializeFrom, EDataType.Integer, gatherRuleInfo.SerializeFrom), GetParameter(ParmGatherSerializeTo, EDataType.Integer, gatherRuleInfo.SerializeTo), GetParameter(ParmGatherSerializeInternal, EDataType.Integer, gatherRuleInfo.SerializeInterval), GetParameter(ParmGatherSerializeOrderByDesc, EDataType.VarChar, 18, gatherRuleInfo.SerializeIsOrderByDesc.ToString()), GetParameter(ParmGatherSerializeIsAddZero, EDataType.VarChar, 18, gatherRuleInfo.SerializeIsAddZero.ToString()), GetParameter(ParmNodeId, EDataType.Integer, gatherRuleInfo.NodeId), GetParameter(ParmCharset, EDataType.VarChar, 50, ECharsetUtils.GetValue(gatherRuleInfo.Charset)), GetParameter(ParmUrlInclude, EDataType.VarChar, 200, gatherRuleInfo.UrlInclude), GetParameter(ParmTitleInclude, EDataType.NVarChar, 255, gatherRuleInfo.TitleInclude), GetParameter(ParmContentExclude, EDataType.NText, gatherRuleInfo.ContentExclude), GetParameter(ParmContentHtmlClearCollection, EDataType.NVarChar, 255, gatherRuleInfo.ContentHtmlClearCollection), GetParameter(ParmContentHtmlClearTagCollection, EDataType.NVarChar, 255, gatherRuleInfo.ContentHtmlClearTagCollection), GetParameter(ParmLastGatherDate, EDataType.DateTime, gatherRuleInfo.LastGatherDate), GetParameter(ParmListAreaStart, EDataType.NText, gatherRuleInfo.ListAreaStart), GetParameter(ParmListAreaEnd, EDataType.NText, gatherRuleInfo.ListAreaEnd), GetParameter(ParmListContentChannelStart, EDataType.NText, gatherRuleInfo.ContentChannelStart), GetParameter(ParmListContentChannelEnd, EDataType.NText, gatherRuleInfo.ContentChannelEnd), GetParameter(ParmContentTitleStart, EDataType.NText, gatherRuleInfo.ContentTitleStart), GetParameter(ParmContentTitleEnd, EDataType.NText, gatherRuleInfo.ContentTitleEnd), GetParameter(ParmContentContentStart, EDataType.NText, gatherRuleInfo.ContentContentStart), GetParameter(ParmContentContentEnd, EDataType.NText, gatherRuleInfo.ContentContentEnd), GetParameter(ParmContentNextPageStart, EDataType.NText, gatherRuleInfo.ContentNextPageStart), GetParameter(ParmContentNextPageEnd, EDataType.NText, gatherRuleInfo.ContentNextPageEnd), GetParameter(ParmContentAttributes, EDataType.NText, gatherRuleInfo.ContentAttributes), GetParameter(ParmContentAttributesXml, EDataType.NText, gatherRuleInfo.ContentAttributesXml), GetParameter(ParmExtendValues, EDataType.NText, gatherRuleInfo.Additional.ToString()) }; ExecuteNonQuery(SqlInsertGatherRule, insertParms); }
private static AtomEntry ExportGatherRuleInfo(GatherRuleInfo gatherRuleInfo) { var entry = AtomUtility.GetEmptyEntry(); AtomUtility.AddDcElement(entry.AdditionalElements, "GatherRuleName", gatherRuleInfo.GatherRuleName); AtomUtility.AddDcElement(entry.AdditionalElements, "PublishmentSystemID", gatherRuleInfo.PublishmentSystemId.ToString()); AtomUtility.AddDcElement(entry.AdditionalElements, "CookieString", AtomUtility.Encrypt(gatherRuleInfo.CookieString)); //加密 AtomUtility.AddDcElement(entry.AdditionalElements, "GatherUrlIsCollection", gatherRuleInfo.GatherUrlIsCollection.ToString()); AtomUtility.AddDcElement(entry.AdditionalElements, "GatherUrlCollection", gatherRuleInfo.GatherUrlCollection); AtomUtility.AddDcElement(entry.AdditionalElements, "GatherUrlIsSerialize", gatherRuleInfo.GatherUrlIsSerialize.ToString()); AtomUtility.AddDcElement(entry.AdditionalElements, "GatherUrlSerialize", gatherRuleInfo.GatherUrlSerialize); AtomUtility.AddDcElement(entry.AdditionalElements, "SerializeFrom", gatherRuleInfo.SerializeFrom.ToString()); AtomUtility.AddDcElement(entry.AdditionalElements, "SerializeTo", gatherRuleInfo.SerializeTo.ToString()); AtomUtility.AddDcElement(entry.AdditionalElements, "SerializeInterval", gatherRuleInfo.SerializeInterval.ToString()); AtomUtility.AddDcElement(entry.AdditionalElements, "SerializeIsOrderByDesc", gatherRuleInfo.SerializeIsOrderByDesc.ToString()); AtomUtility.AddDcElement(entry.AdditionalElements, "SerializeIsAddZero", gatherRuleInfo.SerializeIsAddZero.ToString()); AtomUtility.AddDcElement(entry.AdditionalElements, "NodeID", gatherRuleInfo.NodeId.ToString()); AtomUtility.AddDcElement(entry.AdditionalElements, "Charset", ECharsetUtils.GetValue(gatherRuleInfo.Charset)); AtomUtility.AddDcElement(entry.AdditionalElements, "UrlInclude", gatherRuleInfo.UrlInclude); AtomUtility.AddDcElement(entry.AdditionalElements, "TitleInclude", gatherRuleInfo.TitleInclude); AtomUtility.AddDcElement(entry.AdditionalElements, "ContentExclude", AtomUtility.Encrypt(gatherRuleInfo.ContentExclude)); //加密 AtomUtility.AddDcElement(entry.AdditionalElements, "ContentHtmlClearCollection", gatherRuleInfo.ContentHtmlClearCollection); AtomUtility.AddDcElement(entry.AdditionalElements, "ContentHtmlClearTagCollection", gatherRuleInfo.ContentHtmlClearTagCollection); AtomUtility.AddDcElement(entry.AdditionalElements, "LastGatherDate", gatherRuleInfo.LastGatherDate.ToLongDateString()); AtomUtility.AddDcElement(entry.AdditionalElements, "ListAreaStart", AtomUtility.Encrypt(gatherRuleInfo.ListAreaStart)); //加密 AtomUtility.AddDcElement(entry.AdditionalElements, "ListAreaEnd", AtomUtility.Encrypt(gatherRuleInfo.ListAreaEnd)); //加密 AtomUtility.AddDcElement(entry.AdditionalElements, "ContentChannelStart", AtomUtility.Encrypt(gatherRuleInfo.ContentChannelStart)); //加密 AtomUtility.AddDcElement(entry.AdditionalElements, "ContentChannelEnd", AtomUtility.Encrypt(gatherRuleInfo.ContentChannelEnd)); //加密 AtomUtility.AddDcElement(entry.AdditionalElements, "ContentTitleStart", AtomUtility.Encrypt(gatherRuleInfo.ContentTitleStart)); //加密 AtomUtility.AddDcElement(entry.AdditionalElements, "ContentTitleEnd", AtomUtility.Encrypt(gatherRuleInfo.ContentTitleEnd)); //加密 AtomUtility.AddDcElement(entry.AdditionalElements, "ContentContentStart", AtomUtility.Encrypt(gatherRuleInfo.ContentContentStart)); //加密 AtomUtility.AddDcElement(entry.AdditionalElements, "ContentContentEnd", AtomUtility.Encrypt(gatherRuleInfo.ContentContentEnd)); //加密 AtomUtility.AddDcElement(entry.AdditionalElements, "ContentNextPageStart", AtomUtility.Encrypt(gatherRuleInfo.ContentNextPageStart)); //加密 AtomUtility.AddDcElement(entry.AdditionalElements, "ContentNextPageEnd", AtomUtility.Encrypt(gatherRuleInfo.ContentNextPageEnd)); //加密 AtomUtility.AddDcElement(entry.AdditionalElements, "ContentAttributes", AtomUtility.Encrypt(gatherRuleInfo.ContentAttributes)); //加密 AtomUtility.AddDcElement(entry.AdditionalElements, "ContentAttributesXML", AtomUtility.Encrypt(gatherRuleInfo.ContentAttributesXml)); //加密 AtomUtility.AddDcElement(entry.AdditionalElements, "ExtendValues", AtomUtility.Encrypt(gatherRuleInfo.ExtendValues)); //加密 return(entry); }
public ArrayList GetGatherRuleInfoArrayList(int publishmentSystemId) { var list = new ArrayList(); var parms = new IDataParameter[] { GetParameter(ParmPublishmentSystemId, EDataType.Integer, publishmentSystemId) }; using (var rdr = ExecuteReader(SqlSelectAllGatherRuleByPsId, parms)) { while (rdr.Read()) { var i = 0; var gatherRuleInfo = new GatherRuleInfo(GetString(rdr, i++), GetInt(rdr, i++), GetString(rdr, i++), GetBool(rdr, i++), GetString(rdr, i++), GetBool(rdr, i++), GetString(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i++), GetBool(rdr, i++), GetBool(rdr, i++), GetInt(rdr, i++), ECharsetUtils.GetEnumType(GetString(rdr, i++)), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetDateTime(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i)); list.Add(gatherRuleInfo); } rdr.Close(); } return(list); }
public GatherRuleInfo GetGatherRuleInfo(string gatherRuleName, int publishmentSystemId) { GatherRuleInfo gatherRuleInfo = null; var parms = new IDataParameter[] { GetParameter(ParmGatherRuleName, EDataType.NVarChar, 50, gatherRuleName), GetParameter(ParmPublishmentSystemId, EDataType.Integer, publishmentSystemId) }; using (var rdr = ExecuteReader(SqlSelectGatherRule, parms)) { if (rdr.Read()) { var i = 0; gatherRuleInfo = new GatherRuleInfo(GetString(rdr, i++), GetInt(rdr, i++), GetString(rdr, i++), GetBool(rdr, i++), GetString(rdr, i++), GetBool(rdr, i++), GetString(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i++), GetBool(rdr, i++), GetBool(rdr, i++), GetInt(rdr, i++), ECharsetUtils.GetEnumType(GetString(rdr, i++)), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetDateTime(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i)); } rdr.Close(); } return(gatherRuleInfo); }
public IHttpActionResult Get() { try { var request = Context.AuthenticatedRequest; var siteId = request.GetQueryInt("siteId"); var ruleId = request.GetQueryInt("ruleId"); if (!request.IsAdminLoggin || !request.AdminPermissions.HasSitePermissions(siteId, Utils.PluginId)) { return(Unauthorized()); } GatherRuleInfo ruleInfo; List <string> contentHtmlClearList; List <string> contentHtmlClearTagList; Dictionary <string, string> attributesDict; if (ruleId > 0) { ruleInfo = Main.GatherRuleRepository.GetGatherRuleInfo(ruleId); contentHtmlClearList = TranslateUtils.StringCollectionToStringList(ruleInfo.ContentHtmlClearCollection); contentHtmlClearTagList = TranslateUtils.StringCollectionToStringList(ruleInfo.ContentHtmlClearTagCollection); attributesDict = TranslateUtils.JsonDeserialize <Dictionary <string, string> >(ruleInfo.ContentAttributesXml); } else { ruleInfo = new GatherRuleInfo { SiteId = siteId, Charset = ECharsetUtils.GetValue(ECharset.utf_8), IsOrderByDesc = true, GatherUrlIsCollection = true, ContentHtmlClearCollection = "", ContentHtmlClearTagCollection = "" }; contentHtmlClearList = new List <string> { "script", "object", "iframe" }; contentHtmlClearTagList = new List <string> { "font", "div", "span" }; attributesDict = new Dictionary <string, string>(); } var channels = new List <KeyValuePair <int, string> >(); var channelIdList = Context.ChannelApi.GetChannelIdList(siteId); var isLastNodeArray = new bool[channelIdList.Count]; foreach (var theChannelId in channelIdList) { var channelInfo = Context.ChannelApi.GetChannelInfo(siteId, theChannelId); var title = Utils.GetChannelListBoxTitle(siteId, channelInfo.Id, channelInfo.ChannelName, channelInfo.ParentsCount, channelInfo.LastNode, isLastNodeArray); channels.Add(new KeyValuePair <int, string>(channelInfo.Id, title)); } var charsets = ECharsetUtils.GetAllCharsets(); return(Ok(new { Value = ruleInfo, Channels = channels, Charsets = charsets, ContentHtmlClearList = contentHtmlClearList, ContentHtmlClearTagList = contentHtmlClearTagList, AttributesDict = attributesDict })); } catch (Exception ex) { return(InternalServerError(ex)); } }
public void ImportGatherRule(bool overwrite) { if (!FileUtils.IsFileExists(_filePath)) { return; } var feed = AtomFeed.Load(FileUtils.GetFileStreamReadOnly(_filePath)); foreach (AtomEntry entry in feed.Entries) { var gatherRuleName = AtomUtility.GetDcElementContent(entry.AdditionalElements, "GatherRuleName"); if (!string.IsNullOrEmpty(gatherRuleName)) { var gatherRuleInfo = new GatherRuleInfo(); gatherRuleInfo.GatherRuleName = gatherRuleName; gatherRuleInfo.PublishmentSystemId = _publishmentSystemId; gatherRuleInfo.CookieString = AtomUtility.Decrypt(AtomUtility.GetDcElementContent(entry.AdditionalElements, "CookieString")); //解密 gatherRuleInfo.GatherUrlIsCollection = TranslateUtils.ToBool(AtomUtility.GetDcElementContent(entry.AdditionalElements, "GatherUrlIsCollection")); gatherRuleInfo.GatherUrlCollection = AtomUtility.GetDcElementContent(entry.AdditionalElements, "GatherUrlCollection"); gatherRuleInfo.GatherUrlIsSerialize = TranslateUtils.ToBool(AtomUtility.GetDcElementContent(entry.AdditionalElements, "GatherUrlIsSerialize")); gatherRuleInfo.GatherUrlSerialize = AtomUtility.GetDcElementContent(entry.AdditionalElements, "GatherUrlSerialize"); gatherRuleInfo.SerializeFrom = TranslateUtils.ToInt(AtomUtility.GetDcElementContent(entry.AdditionalElements, "SerializeFrom")); gatherRuleInfo.SerializeTo = TranslateUtils.ToInt(AtomUtility.GetDcElementContent(entry.AdditionalElements, "SerializeTo")); gatherRuleInfo.SerializeInterval = TranslateUtils.ToInt(AtomUtility.GetDcElementContent(entry.AdditionalElements, "SerializeInterval")); gatherRuleInfo.SerializeIsOrderByDesc = TranslateUtils.ToBool(AtomUtility.GetDcElementContent(entry.AdditionalElements, "SerializeIsOrderByDesc")); gatherRuleInfo.SerializeIsAddZero = TranslateUtils.ToBool(AtomUtility.GetDcElementContent(entry.AdditionalElements, "SerializeIsAddZero")); gatherRuleInfo.NodeId = _publishmentSystemId; gatherRuleInfo.Charset = ECharsetUtils.GetEnumType(AtomUtility.GetDcElementContent(entry.AdditionalElements, "Charset")); gatherRuleInfo.UrlInclude = AtomUtility.GetDcElementContent(entry.AdditionalElements, "UrlInclude"); gatherRuleInfo.TitleInclude = AtomUtility.GetDcElementContent(entry.AdditionalElements, "TitleInclude"); gatherRuleInfo.ContentExclude = AtomUtility.Decrypt(AtomUtility.GetDcElementContent(entry.AdditionalElements, "ContentExclude")); //解密 gatherRuleInfo.ContentHtmlClearCollection = AtomUtility.GetDcElementContent(entry.AdditionalElements, "ContentHtmlClearCollection"); gatherRuleInfo.ContentHtmlClearTagCollection = AtomUtility.GetDcElementContent(entry.AdditionalElements, "ContentHtmlClearTagCollection"); gatherRuleInfo.LastGatherDate = DateUtils.SqlMinValue; gatherRuleInfo.ListAreaStart = AtomUtility.Decrypt(AtomUtility.GetDcElementContent(entry.AdditionalElements, "ListAreaStart")); //解密 gatherRuleInfo.ListAreaEnd = AtomUtility.Decrypt(AtomUtility.GetDcElementContent(entry.AdditionalElements, "ListAreaEnd")); //解密 gatherRuleInfo.ContentChannelStart = AtomUtility.Decrypt(AtomUtility.GetDcElementContent(entry.AdditionalElements, "ContentChannelStart")); //解密 gatherRuleInfo.ContentChannelEnd = AtomUtility.Decrypt(AtomUtility.GetDcElementContent(entry.AdditionalElements, "ContentChannelEnd")); //解密 gatherRuleInfo.ContentTitleStart = AtomUtility.Decrypt(AtomUtility.GetDcElementContent(entry.AdditionalElements, "ContentTitleStart")); //解密 gatherRuleInfo.ContentTitleEnd = AtomUtility.Decrypt(AtomUtility.GetDcElementContent(entry.AdditionalElements, "ContentTitleEnd")); //解密 gatherRuleInfo.ContentContentStart = AtomUtility.Decrypt(AtomUtility.GetDcElementContent(entry.AdditionalElements, "ContentContentStart")); //解密 gatherRuleInfo.ContentContentEnd = AtomUtility.Decrypt(AtomUtility.GetDcElementContent(entry.AdditionalElements, "ContentContentEnd")); //解密 gatherRuleInfo.ContentNextPageStart = AtomUtility.Decrypt(AtomUtility.GetDcElementContent(entry.AdditionalElements, "ContentNextPageStart")); //解密 gatherRuleInfo.ContentNextPageEnd = AtomUtility.Decrypt(AtomUtility.GetDcElementContent(entry.AdditionalElements, "ContentNextPageEnd")); //解密 gatherRuleInfo.ContentAttributes = AtomUtility.Decrypt(AtomUtility.GetDcElementContent(entry.AdditionalElements, "ContentAttributes")); //解密 gatherRuleInfo.ContentAttributesXml = AtomUtility.Decrypt(AtomUtility.GetDcElementContent(entry.AdditionalElements, "ContentAttributesXML")); //解密 gatherRuleInfo.ExtendValues = AtomUtility.Decrypt(AtomUtility.GetDcElementContent(entry.AdditionalElements, "ExtendValues")); //解密 var srcGatherRuleInfo = DataProvider.GatherRuleDao.GetGatherRuleInfo(gatherRuleInfo.GatherRuleName, _publishmentSystemId); if (srcGatherRuleInfo != null) { if (overwrite) { DataProvider.GatherRuleDao.Update(gatherRuleInfo); } else { var importGatherRuleName = DataProvider.GatherRuleDao.GetImportGatherRuleName(_publishmentSystemId, gatherRuleInfo.GatherRuleName); gatherRuleInfo.GatherRuleName = importGatherRuleName; DataProvider.GatherRuleDao.Insert(gatherRuleInfo); } } else { DataProvider.GatherRuleDao.Insert(gatherRuleInfo); } } } }
public bool Validate_InsertGatherRule(out string errorMessage) { try { var isNeedAdd = false; if (_isEdit) { if (_theGatherRuleName != GatherRuleName.Text) { isNeedAdd = true; DataProvider.GatherRuleDao.Delete(_theGatherRuleName, PublishmentSystemId); } else { var gatherRuleInfo = DataProvider.GatherRuleDao.GetGatherRuleInfo(_theGatherRuleName, PublishmentSystemId); if (NodeIDDropDownList.SelectedValue != null) { gatherRuleInfo.NodeId = int.Parse(NodeIDDropDownList.SelectedValue); } gatherRuleInfo.Charset = ECharsetUtils.GetEnumType(Charset.SelectedValue); gatherRuleInfo.Additional.GatherNum = int.Parse(GatherNum.Text); gatherRuleInfo.Additional.IsSaveImage = TranslateUtils.ToBool(IsSaveImage.SelectedValue); gatherRuleInfo.Additional.IsSetFirstImageAsImageUrl = TranslateUtils.ToBool(IsSetFirstImageAsImageUrl.SelectedValue); gatherRuleInfo.Additional.IsEmptyContentAllowed = TranslateUtils.ToBool(IsEmptyContentAllowed.SelectedValue); gatherRuleInfo.Additional.IsSameTitleAllowed = TranslateUtils.ToBool(IsSameTitleAllowed.SelectedValue); gatherRuleInfo.Additional.IsChecked = TranslateUtils.ToBool(IsChecked.SelectedValue); gatherRuleInfo.Additional.IsAutoCreate = TranslateUtils.ToBool(IsAutoCreate.SelectedValue); gatherRuleInfo.Additional.IsOrderByDesc = TranslateUtils.ToBool(IsOrderByDesc.SelectedValue); gatherRuleInfo.GatherUrlIsCollection = GatherUrlIsCollection.Checked; gatherRuleInfo.GatherUrlCollection = GatherUrlCollection.Text; gatherRuleInfo.GatherUrlIsSerialize = GatherUrlIsSerialize.Checked; gatherRuleInfo.GatherUrlSerialize = GatherUrlSerialize.Text; gatherRuleInfo.SerializeFrom = TranslateUtils.ToInt(SerializeFrom.Text); gatherRuleInfo.SerializeTo = TranslateUtils.ToInt(SerializeTo.Text); gatherRuleInfo.SerializeInterval = TranslateUtils.ToInt(SerializeInterval.Text); gatherRuleInfo.SerializeIsOrderByDesc = SerializeIsOrderByDesc.Checked; gatherRuleInfo.SerializeIsAddZero = SerializeIsAddZero.Checked; gatherRuleInfo.UrlInclude = UrlInclude.Text; gatherRuleInfo.TitleInclude = TitleInclude.Text; gatherRuleInfo.ContentExclude = ContentExclude.Text; var htmlClearArrayList = new ArrayList(); foreach (ListItem item in ContentHtmlClearCollection.Items) { if (item.Selected) { htmlClearArrayList.Add(item.Value); } } gatherRuleInfo.ContentHtmlClearCollection = TranslateUtils.ObjectCollectionToString(htmlClearArrayList); var htmlClearTagArrayList = new ArrayList(); foreach (ListItem item in ContentHtmlClearTagCollection.Items) { if (item.Selected) { htmlClearTagArrayList.Add(item.Value); } } gatherRuleInfo.ContentHtmlClearTagCollection = TranslateUtils.ObjectCollectionToString(htmlClearTagArrayList); gatherRuleInfo.ListAreaStart = ListAreaStart.Text; gatherRuleInfo.ListAreaEnd = ListAreaEnd.Text; gatherRuleInfo.CookieString = CookieString.Text; gatherRuleInfo.ContentTitleStart = ContentTitleStart.Text; gatherRuleInfo.ContentTitleEnd = ContentTitleEnd.Text; gatherRuleInfo.ContentContentStart = ContentContentStart.Text; gatherRuleInfo.ContentContentEnd = ContentContentEnd.Text; gatherRuleInfo.Additional.ContentContentStart2 = ContentContentStart2.Text; gatherRuleInfo.Additional.ContentContentEnd2 = ContentContentEnd2.Text; gatherRuleInfo.Additional.ContentContentStart3 = ContentContentStart3.Text; gatherRuleInfo.Additional.ContentContentEnd3 = ContentContentEnd3.Text; gatherRuleInfo.Additional.ContentReplaceFrom = ContentReplaceFrom.Text; gatherRuleInfo.Additional.ContentReplaceTo = ContentReplaceTo.Text; gatherRuleInfo.ContentChannelStart = ContentChannelStart.Text; gatherRuleInfo.ContentChannelEnd = ContentChannelEnd.Text; gatherRuleInfo.ContentNextPageStart = ContentNextPageStart.Text; gatherRuleInfo.ContentNextPageEnd = ContentNextPageEnd.Text; var valueArrayList = ControlUtils.GetSelectedListControlValueArrayList(ContentAttributes); gatherRuleInfo.ContentAttributes = TranslateUtils.ObjectCollectionToString(valueArrayList); var attributesXML = new NameValueCollection(); for (var i = 0; i < valueArrayList.Count; i++) { var attributeName = valueArrayList[i] as string; foreach (RepeaterItem item in ContentAttributesRepeater.Items) { if (item.ItemIndex == i) { var contentStart = (TextBox)item.FindControl("ContentStart"); var contentEnd = (TextBox)item.FindControl("ContentEnd"); //采集为空时的默认值 var contentDefault = (TextBox)item.FindControl("ContentDefault"); attributesXML[attributeName + "_ContentStart"] = StringUtils.ValueToUrl(contentStart.Text); attributesXML[attributeName + "_ContentEnd"] = StringUtils.ValueToUrl(contentEnd.Text); //采集为空时的默认值 attributesXML[attributeName + "_ContentDefault"] = StringUtils.ValueToUrl(contentDefault.Text); } } } gatherRuleInfo.ContentAttributesXml = TranslateUtils.NameValueCollectionToString(attributesXML); DataProvider.GatherRuleDao.Update(gatherRuleInfo); } } else { isNeedAdd = true; } if (isNeedAdd) { var gatherRuleInfo = new GatherRuleInfo(); gatherRuleInfo.GatherRuleName = GatherRuleName.Text; gatherRuleInfo.PublishmentSystemId = PublishmentSystemId; if (NodeIDDropDownList.SelectedValue != null) { gatherRuleInfo.NodeId = int.Parse(NodeIDDropDownList.SelectedValue); } gatherRuleInfo.Charset = ECharsetUtils.GetEnumType(Charset.SelectedValue); gatherRuleInfo.Additional.GatherNum = int.Parse(GatherNum.Text); gatherRuleInfo.Additional.IsSaveImage = TranslateUtils.ToBool(IsSaveImage.SelectedValue); gatherRuleInfo.Additional.IsSetFirstImageAsImageUrl = TranslateUtils.ToBool(IsSetFirstImageAsImageUrl.SelectedValue); gatherRuleInfo.Additional.IsEmptyContentAllowed = TranslateUtils.ToBool(IsEmptyContentAllowed.SelectedValue); gatherRuleInfo.Additional.IsSameTitleAllowed = TranslateUtils.ToBool(IsSameTitleAllowed.SelectedValue); gatherRuleInfo.Additional.IsChecked = TranslateUtils.ToBool(IsChecked.SelectedValue); gatherRuleInfo.Additional.IsAutoCreate = TranslateUtils.ToBool(IsAutoCreate.SelectedValue); gatherRuleInfo.Additional.IsOrderByDesc = TranslateUtils.ToBool(IsOrderByDesc.SelectedValue); gatherRuleInfo.GatherUrlIsCollection = GatherUrlIsCollection.Checked; gatherRuleInfo.GatherUrlCollection = GatherUrlCollection.Text; gatherRuleInfo.GatherUrlIsSerialize = GatherUrlIsSerialize.Checked; gatherRuleInfo.GatherUrlSerialize = GatherUrlSerialize.Text; gatherRuleInfo.SerializeFrom = TranslateUtils.ToInt(SerializeFrom.Text); gatherRuleInfo.SerializeTo = TranslateUtils.ToInt(SerializeTo.Text); gatherRuleInfo.SerializeInterval = TranslateUtils.ToInt(SerializeInterval.Text); gatherRuleInfo.SerializeIsOrderByDesc = SerializeIsOrderByDesc.Checked; gatherRuleInfo.SerializeIsAddZero = SerializeIsAddZero.Checked; gatherRuleInfo.UrlInclude = UrlInclude.Text; gatherRuleInfo.TitleInclude = TitleInclude.Text; gatherRuleInfo.ContentExclude = ContentExclude.Text; var htmlClearArrayList = new ArrayList(); foreach (ListItem item in ContentHtmlClearCollection.Items) { if (item.Selected) { htmlClearArrayList.Add(item.Value); } } gatherRuleInfo.ContentHtmlClearCollection = TranslateUtils.ObjectCollectionToString(htmlClearArrayList); var htmlClearTagArrayList = new ArrayList(); foreach (ListItem item in ContentHtmlClearTagCollection.Items) { if (item.Selected) { htmlClearTagArrayList.Add(item.Value); } } gatherRuleInfo.ContentHtmlClearTagCollection = TranslateUtils.ObjectCollectionToString(htmlClearTagArrayList); gatherRuleInfo.ListAreaStart = ListAreaStart.Text; gatherRuleInfo.ListAreaEnd = ListAreaEnd.Text; gatherRuleInfo.CookieString = CookieString.Text; gatherRuleInfo.ContentTitleStart = ContentTitleStart.Text; gatherRuleInfo.ContentTitleEnd = ContentTitleEnd.Text; gatherRuleInfo.ContentContentStart = ContentContentStart.Text; gatherRuleInfo.ContentContentEnd = ContentContentEnd.Text; gatherRuleInfo.Additional.ContentContentStart2 = ContentContentStart2.Text; gatherRuleInfo.Additional.ContentContentEnd2 = ContentContentEnd2.Text; gatherRuleInfo.Additional.ContentContentStart3 = ContentContentStart3.Text; gatherRuleInfo.Additional.ContentContentEnd3 = ContentContentEnd3.Text; gatherRuleInfo.Additional.ContentReplaceFrom = ContentReplaceFrom.Text; gatherRuleInfo.Additional.ContentReplaceTo = ContentReplaceTo.Text; gatherRuleInfo.ContentChannelStart = ContentChannelStart.Text; gatherRuleInfo.ContentChannelEnd = ContentChannelEnd.Text; gatherRuleInfo.ContentNextPageStart = ContentNextPageStart.Text; gatherRuleInfo.ContentNextPageEnd = ContentNextPageEnd.Text; gatherRuleInfo.LastGatherDate = DateUtils.SqlMinValue; var valueArrayList = ControlUtils.GetSelectedListControlValueArrayList(ContentAttributes); gatherRuleInfo.ContentAttributes = TranslateUtils.ObjectCollectionToString(valueArrayList); var attributesXML = new NameValueCollection(); for (var i = 0; i < valueArrayList.Count; i++) { var attributeName = valueArrayList[i] as string; foreach (RepeaterItem item in ContentAttributesRepeater.Items) { if (item.ItemIndex == i) { var contentStart = (TextBox)item.FindControl("ContentStart"); var contentEnd = (TextBox)item.FindControl("ContentEnd"); //采集为空时的默认值 var contentDefault = (TextBox)item.FindControl("ContentDefault"); attributesXML[attributeName + "_ContentStart"] = StringUtils.ValueToUrl(contentStart.Text); attributesXML[attributeName + "_ContentEnd"] = StringUtils.ValueToUrl(contentEnd.Text); //采集为空时的默认值 attributesXML[attributeName + "_ContentDefault"] = StringUtils.ValueToUrl(contentDefault.Text); } } } gatherRuleInfo.ContentAttributesXml = TranslateUtils.NameValueCollectionToString(attributesXML); DataProvider.GatherRuleDao.Insert(gatherRuleInfo); } if (isNeedAdd) { Body.AddSiteLog(PublishmentSystemId, "添加Web页面采集规则", $"采集规则:{GatherRuleName.Text}"); } else { Body.AddSiteLog(PublishmentSystemId, "编辑Web页面采集规则", $"采集规则:{GatherRuleName.Text}"); } errorMessage = string.Empty; return(true); } catch { errorMessage = "操作失败!"; return(false); } }