本文整理汇总了C#中Phrase.Save方法的典型用法代码示例。如果您正苦于以下问题:C# Phrase.Save方法的具体用法?C# Phrase.Save怎么用?C# Phrase.Save使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Phrase
的用法示例。
在下文中一共展示了Phrase.Save方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AddPhrase
public bool AddPhrase(int accountID, string text, SourceType sourceType)
{
return InvokeSafeSingleCall(() => {
text = text.ToLower();
var phrase = Phrase.DataSource
.WhereEquals(Phrase.Fields.Text, text)
.WhereEquals(Phrase.Fields.CollectionIdentity, (short)AlgoBase.CollectionIdentity)
.First();
if (phrase == null) {
phrase = new Phrase {
Datecreated = DateTime.UtcNow,
Text = text,
Status = PhraseStatus.NotCollected,
CollectionIdentity = AlgoBase.CollectionIdentity,
};
phrase.Save();
}
var phraseAccount = Phraseaccount.DataSource
.WhereEquals(Phraseaccount.Fields.AccountidentityID, accountID)
.WhereEquals(Phraseaccount.Fields.PhraseID, phrase.ID)
.WhereEquals(Phraseaccount.Fields.CollectionIdentity, (short)AlgoBase.CollectionIdentity)
.First();
if (phraseAccount == null) {
phraseAccount = new Phraseaccount {
Datecreated = DateTime.UtcNow,
AccountidentityID = accountID,
PhraseID = phrase.ID,
SourceType = sourceType,
CollectionIdentity = AlgoBase.CollectionIdentity
};
} else {
phraseAccount.SourceType |= sourceType;
}
return phraseAccount.Save();
}, false);
}
示例2: DoAction
protected override void DoAction()
{
var entities = GetEntitiesToProcess();
foreach (var entity in entities) {
var queriesForDomain = new HashSet<string>();
entity.Status |= DomainStatus.PhrasesCollected;
try {
for (var page = 1;; page++) {
var hasUnique = false;
var content = SpywordsQueryWrapper.GetQueriesForDomain(entity.Domain, page);
var listLinksToInsert = new List<Domainphrase>();
foreach (Match wordMatch in _siteSpywordsExpractor.Matches(content)) {
var word = wordMatch.Groups["word"].Value.ToLower();
if (queriesForDomain.Contains(word)) {
continue;
}
queriesForDomain.Add(word);
hasUnique = true;
var phrase = Phrase.DataSource
.WhereEquals(Phrase.Fields.Text, word)
.First(Phrase.Fields.ID);
if(phrase == null) {
phrase = new Phrase {
Datecreated = DateTime.UtcNow,
Status = PhraseStatus.NotCollected,
CollectionIdentity = CollectionIdentity,
Text = word
};
phrase.Save();
}
var firstDomainPhrase = Domainphrase.DataSource
.WhereEquals(Domainphrase.Fields.DomainID, entity.ID)
.WhereEquals(Domainphrase.Fields.PhraseID, phrase.ID)
.First();
if (firstDomainPhrase == null) {
var domainphrase = new Domainphrase {
DomainID = entity.ID,
PhraseID = phrase.ID,
SourceType = SourceType.Context,
CollectionIdentity = CollectionIdentity
};
listLinksToInsert.Add(domainphrase);
} else {
firstDomainPhrase.SourceType |= SourceType.Context;
firstDomainPhrase.Save();
}
}
TaskRunner.Instance.AddAction(() => {
listLinksToInsert.Save<Domainphrase, int>();
});
if (!hasUnique) {
break;
}
}
}
catch (Exception ex) {
Logger.Error(ex);
entity.Status |= DomainStatus.PhrasesCollectedError;
}
entity.Save();
}
}