Пример #1
0
 public virtual void Apply(StringCriteria criteria)
 {
     if (!string.IsNullOrEmpty(SortExpression))
     {
         criteria.AddOrder(Renderer.SqlEncode(SortExpression), SortDirection);
     }
 }
Пример #2
0
        public override void Apply(StringCriteria criteria)
        {
            if (!string.IsNullOrEmpty(Query))
            {
                criteria.AddJoin(string.Format("INNER JOIN FREETEXTTABLE(Post, (Title, Body), '{0}') AS KEY_TBL ON Post.Post_Id = KEY_TBL.[KEY]",
                    Renderer.SqlEncode(Query)));
            }

            if (TopicId != 0)
            {
                criteria.Add(string.Format("EXISTS (SELECT * FROM PostTopic WHERE PostTopic.Post_Id = Post.Post_Id AND PostTopic.Topic_Id = {0})",
                    TopicId));
            }

            if (DateStart != DateTime.MinValue)
            {
                criteria.Add(string.Format("Created >= '{0}'", DateStart));
            }

            if (DateEnd != DateTime.MaxValue)
            {
                criteria.Add(string.Format("Created <= '{0}'", DateEnd));
            }

            if (PublishedOnly)
            {
                criteria.Add("Publish = 1");
            }

            if (DisplayedOnly)
            {
                criteria.Add("Display = 1");
            }

            if (string.IsNullOrEmpty(Query))
            {
                criteria.AddOrder("Sticky", WebServiceQuerySortDirection.Descending);
            }

            base.Apply(criteria);
        }
Пример #3
0
 public int GetReferrerHostsCount(string ticket, TransitReferrerHostQueryOptions options)
 {
     using (DBlog.Data.Hibernate.Session.OpenConnection(GetNewConnection()))
     {
         ISession session = DBlog.Data.Hibernate.Session.Current;
         StringCriteria criteria = new StringCriteria(session, "ReferrerHost", typeof(ReferrerHost));
         if (options != null)
         {
             options.Apply(criteria);
         }
         IQuery sqlquery = criteria.CreateQuery();
         return (int)sqlquery.List().Count;
     }
 }
Пример #4
0
        public override void Apply(StringCriteria criteria)
        {
            if (DateStart != DateTime.MinValue)
            {
                criteria.Add(string.Format("Created >= '{0}'", DateStart));
            }

            base.Apply(criteria);
        }
Пример #5
0
        public List<TransitPost> GetPosts(string ticket, TransitPostQueryOptions options)
        {
            using (DBlog.Data.Hibernate.Session.OpenConnection(GetNewConnection()))
            {
                ISession session = DBlog.Data.Hibernate.Session.Current;
                StringCriteria criteria = new StringCriteria(session, "Post", typeof(Post));

                if (options != null)
                {
                    options.Apply(criteria);
                }

                IQuery sqlquery = criteria.CreateQuery();

                if (options != null)
                {
                    options.Apply(sqlquery);
                }

                IList list = sqlquery.List();

                List<TransitPost> result = new List<TransitPost>(list.Count);

                foreach (Post obj in list)
                {
                    result.Add(new TransitPost(session, obj, ticket));
                }

                return result;
            }
        }