本文整理汇总了C#中GenericRepository.GetByCondition方法的典型用法代码示例。如果您正苦于以下问题:C# GenericRepository.GetByCondition方法的具体用法?C# GenericRepository.GetByCondition怎么用?C# GenericRepository.GetByCondition使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GenericRepository
的用法示例。
在下文中一共展示了GenericRepository.GetByCondition方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ActualizeArticles
public async Task ActualizeArticles()
{
//Get Total Number of feeds
int feedcounter = _sources.SelectMany(source => source.FeedList).Count();
int activecounter = 0;
foreach (var sourceModel in _sources)
{
if (sourceModel.SourceConfiguration.Source == SourceEnum.Favorites)
continue;
foreach (var feed in sourceModel.FeedList)
{
var newfeed = await FeedHelper.Instance.DownloadFeed(feed);
_progressService.ShowProgress("Feeds werden heruntergeladen...", Convert.ToInt32((++activecounter * 100) / feedcounter));
if (newfeed != null)
{
ArticleHelper.Instance.AddWordDumpFromFeed(ref newfeed);
var newarticles = await FeedToDatabase(newfeed);
_newArticleModels.AddRange(newarticles);
Messenger.Default.Send(newarticles, Messages.FeedRefresh);
}
}
}
using (var unitOfWork = new UnitOfWork(true))
{
var repo = new GenericRepository<ArticleModel, ArticleEntity>(await unitOfWork.GetDataService());
var state = (int)ArticleState.New;
var newarticles = await repo.GetByCondition(d => d.State == state);
foreach (var articleModel in newarticles)
{
if (_newArticleModels.All(d => d.Id != articleModel.Id))
{
_newArticleModels.Add(await AddModels(articleModel, await unitOfWork.GetDataService(), true));
}
}
}
_newArticles = _newArticleModels.Count;
//Actualize articles
if (!_aktualizeArticlesTasks.Any())
{
for (int i = 0; i < 4; i++)
{
var tsk = AktualizeArticlesTask().ContinueWith(DeleteTaskFromList);
_aktualizeArticlesTasks.Add(tsk);
}
}
foreach (var aktualizeArticlesTask in _aktualizeArticlesTasks)
{
await aktualizeArticlesTask;
}
}
示例2: FeedToDatabase
private async Task<List<ArticleModel>> FeedToDatabase(List<ArticleModel> articles)
{
try
{
if (articles.Any())
{
using (var unitOfWork = new UnitOfWork(false))
{
var repo = new GenericRepository<ArticleModel, ArticleEntity>(await unitOfWork.GetDataService());
var guidString = articles.FirstOrDefault().FeedConfiguration.Guid.ToString();
var oldfeed = await repo.GetByCondition(a => a.FeedConfigurationId == guidString);
for (int index = 0; index < articles.Count; index++)
{
var articleModel = articles[index];
var oldmodel = oldfeed.FirstOrDefault(d => d.PublicUri == articleModel.PublicUri);
if (oldmodel != null)
{
articles.Remove(articleModel);
oldfeed.Remove(oldmodel);
index--;
}
}
//delete old ones
await DeleteAllArticlesAndTrances(oldfeed.Where(d => !d.IsFavorite).Select(d => d.Id).ToList(), await unitOfWork.GetDataService());
//only new ones left
await InsertAllArticleAndTraces(articles, await unitOfWork.GetDataService());
await unitOfWork.Commit();
return articles;
}
}
}
catch (Exception ex)
{
LogHelper.Instance.Log(LogLevel.Error, this, "Exception occured", ex);
}
return new List<ArticleModel>();
}