public int GetCachedCollectionCount <TransitType>( string invoke, string ticket, WebServiceQueryOptions options) { try { string key = string.Format("{0}:{1}:{2}", string.IsNullOrEmpty(ticket) ? 0 : ticket.GetHashCode(), options == null ? 0 : options.GetHashCode(), invoke); object count = Cache[key]; if (count == null || IsAdministrator) { object[] args = { ticket, options }; count = BlogService.GetType().GetMethod(invoke).Invoke(BlogService, args); Cache.Insert(key, count, GetTransitTypeCacheDependency <TransitType>(), DateTime.Now.AddMinutes(10), TimeSpan.Zero); } return((int)count); } catch (Exception ex) { throw new Exception(string.Format("{0}: {1}", invoke, ex.Message), ex); } }
public List<TransitComment> GetComments(string ticket, WebServiceQueryOptions options) { using (DBlog.Data.Hibernate.Session.OpenConnection(GetNewConnection())) { ISession session = DBlog.Data.Hibernate.Session.Current; ICriteria cr = session.CreateCriteria(typeof(Comment)); if (options != null) { options.Apply(cr); } IList<Comment> list = cr.List<Comment>(); List<TransitComment> result = new List<TransitComment>(list.Count); foreach (Comment obj in list) { result.Add(new TransitComment(session, obj, ticket)); } return result; } }
public int GetAssociatedCommentsCount(string ticket, WebServiceQueryOptions options) { return GetCommentsCount(ticket, options); }
public int GetBrowsersCount(string ticket, WebServiceQueryOptions options) { using (DBlog.Data.Hibernate.Session.OpenConnection(GetNewConnection())) { ISession session = DBlog.Data.Hibernate.Session.Current; CountQuery query = new CountQuery(session, typeof(DBlog.Data.Browser), "Browser"); if (options != null) options.Apply(query); return query.Execute<int>(); } }
public int GetReferrerSearchQueriesCount(string ticket, WebServiceQueryOptions options) { using (DBlog.Data.Hibernate.Session.OpenConnection(GetNewConnection())) { ISession session = DBlog.Data.Hibernate.Session.Current; return new CountQuery(session, typeof(DBlog.Data.ReferrerSearchQuery), "ReferrerSearchQuery").Execute<int>(); } }
public List<TransitAssociatedComment> GetAssociatedComments(string ticket, WebServiceQueryOptions options) { using (DBlog.Data.Hibernate.Session.OpenConnection(GetNewConnection())) { ISession session = DBlog.Data.Hibernate.Session.Current; IQuery sqlquery = session.GetNamedQuery("GetAssociatedComments"); //if (options != null) //{ // options.Apply(sqlquery); //} IList<AssociatedComment> list = sqlquery.List<AssociatedComment>(); List<TransitAssociatedComment> result = new List<TransitAssociatedComment>(list.Count); if (options == null) options = new WebServiceQueryOptions(list.Count, 0); for (int i = 0; i < options.PageSize; i++) { int index = options.FirstResult + i; if (index >= list.Count) break; result.Add(new TransitAssociatedComment(session, list[index], ticket)); } return result; } }
public List<TransitReferrerSearchQuery> GetReferrerSearchQueries(string ticket, WebServiceQueryOptions options) { using (DBlog.Data.Hibernate.Session.OpenConnection(GetNewConnection())) { ISession session = DBlog.Data.Hibernate.Session.Current; ICriteria cr = session.CreateCriteria(typeof(ReferrerSearchQuery)) .AddOrder(Order.Desc("RequestCount")); if (options != null) { options.Apply(cr); } IList<ReferrerSearchQuery> list = cr.List<ReferrerSearchQuery>(); List<TransitReferrerSearchQuery> result = new List<TransitReferrerSearchQuery>(list.Count); foreach (ReferrerSearchQuery obj in list) { result.Add(new TransitReferrerSearchQuery(obj)); } return result; } }
public List<TransitReferrerHostRollup> GetReferrerHostRollups(string ticket, WebServiceQueryOptions options) { using (DBlog.Data.Hibernate.Session.OpenConnection(GetNewConnection())) { ISession session = DBlog.Data.Hibernate.Session.Current; ICriteria cr = session.CreateCriteria(typeof(ReferrerHostRollup)); if (options != null) { options.Apply(cr); } IList<ReferrerHostRollup> list = cr.List <ReferrerHostRollup>(); List<TransitReferrerHostRollup> result = new List<TransitReferrerHostRollup>(list.Count); foreach (ReferrerHostRollup obj in list) { result.Add(new TransitReferrerHostRollup(obj)); } return result; } }
public int GetLoginsCount(string ticket, WebServiceQueryOptions options) { using (DBlog.Data.Hibernate.Session.OpenConnection(GetNewConnection())) { ISession session = DBlog.Data.Hibernate.Session.Current; CheckAdministrator(session, ticket); CountQuery query = new CountQuery(session, typeof(DBlog.Data.Login), "Login"); if (options != null) options.Apply(query); return query.Execute<int>(); } }
public List<TransitLogin> GetLogins(string ticket, WebServiceQueryOptions options) { using (DBlog.Data.Hibernate.Session.OpenConnection(GetNewConnection())) { ISession session = DBlog.Data.Hibernate.Session.Current; CheckAdministrator(session, ticket); ICriteria cr = session.CreateCriteria(typeof(Login)); if (options != null) { options.Apply(cr); } IList<Login> list = cr.List<Login>(); List<TransitLogin> result = new List<TransitLogin>(list.Count); foreach (Login obj in list) { result.Add(new TransitLogin(obj)); } return result; } }
public List<TransitHighlight> GetHighlights(string ticket, WebServiceQueryOptions options) { using (DBlog.Data.Hibernate.Session.OpenConnection(GetNewConnection())) { ISession session = DBlog.Data.Hibernate.Session.Current; ICriteria cr = session.CreateCriteria(typeof(Highlight)); if (options != null) { options.Apply(cr); } cr.AddOrder(Order.Asc("Position")); IList<Highlight> list = cr.List<Highlight>(); List<TransitHighlight> result = new List<TransitHighlight>(list.Count); foreach (Highlight obj in list) { result.Add(new TransitHighlight(obj)); } return result; } }