本文整理汇总了C#中ContentType.Contains方法的典型用法代码示例。如果您正苦于以下问题:C# ContentType.Contains方法的具体用法?C# ContentType.Contains怎么用?C# ContentType.Contains使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ContentType
的用法示例。
在下文中一共展示了ContentType.Contains方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetContents
public IEnumerable<Content> GetContents(string siteId, string category, out int total
, bool includeSubCategories = false
, bool? published = null, ContentType[] contentTypes = null, DateTime? startDate = null, DateTime? endDate = null
, int pi = 0, int ps = 0)
{
IQueryable<Content> query = null;
total = 0;
if (includeSubCategories)
{
var obj = repoCategory.Query(o => o.SiteId == siteId && o.Code == category).FirstOrDefault();
if (obj != null)
{
query = from o in repoContent.Query(null)
join cc in repoContentCategory.Query(null)
on o.ContentId equals cc.ContentId
join c in repoCategory.Query(null)
on cc.CategoryId equals c.CategoryId
where o.SiteId == siteId && o.CreateAsRelated == false && c.FlatId.StartsWith(obj.CategoryId)
select o;
}
}
else
{
query = from o in repoContent.Query(null)
join cc in repoContentCategory.Query(null)
on o.ContentId equals cc.ContentId
join c in repoCategory.Query(null)
on cc.CategoryId equals c.CategoryId
where o.SiteId == siteId && o.CreateAsRelated == false && c.Code == category
select o;
}
if (query == null)
{
return Enumerable.Empty<Content>();
}
if (published.HasValue)
{
query = query.Where(o => o.Published == published.Value);
if (published.Value)
{
if (startDate.HasValue)
query = query.Where(o => o.PublishTime > startDate.Value);
if (endDate.HasValue)
query = query.Where(o => o.PublishTime < endDate.Value);
}
else
{
if (startDate.HasValue)
query = query.Where(o => o.CreateTime > startDate.Value);
if (endDate.HasValue)
query = query.Where(o => o.CreateTime < endDate.Value);
}
}
else
{
if (startDate.HasValue)
query = query.Where(o => o.CreateTime > startDate.Value);
if (endDate.HasValue)
query = query.Where(o => o.CreateTime < endDate.Value);
}
if (contentTypes != null && contentTypes.Length > 0)
query = query.Where(o => contentTypes.Contains(o.ContentType));
query = query.OrderBy(o => o.ShowOrder).ThenByDescending(o => o.PublishTime).ThenByDescending(o => o.CreateTime);
total = query.Count();
if (pi >= 0 && ps > 0)
{
query = query.Skip(pi * ps).Take(ps);
}
return query;
}