当前位置: 首页>>代码示例>>C#>>正文


C# ContentType.Contains方法代码示例

本文整理汇总了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;
        }
开发者ID:cairabbit,项目名称:daf,代码行数:75,代码来源:ContentProvider.cs


注:本文中的ContentType.Contains方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。