public virtual void Apply(StringCriteria criteria) { if (!string.IsNullOrEmpty(SortExpression)) { criteria.AddOrder(Renderer.SqlEncode(SortExpression), SortDirection); } }
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); }
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; } }
public override void Apply(StringCriteria criteria) { if (DateStart != DateTime.MinValue) { criteria.Add(string.Format("Created >= '{0}'", DateStart)); } base.Apply(criteria); }
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; } }