public static List <TransitType> GetList(string ticket, ServiceQueryOptions options, ICriterion[] expressions, Order[] orders, GetTransformedInstanceDelegate functor) { using (SnCore.Data.Hibernate.Session.OpenConnection()) { ISession session = SnCore.Data.Hibernate.Session.Current; ManagedSecurityContext sec = new ManagedSecurityContext(session, ticket); ICriteria criteria = session.CreateCriteria(typeof(DataType)); // optional criterion expressions if (expressions != null) { foreach (ICriterion criterion in expressions) { criteria.Add(criterion); } } // options orders if (orders != null) { foreach (Order order in orders) { criteria.AddOrder(order); } } // query options if (options != null && options.PageSize > 0) { criteria.SetMaxResults(options.PageSize); } if (options != null && options.FirstResult > 0) { criteria.SetFirstResult(options.FirstResult); } return(GetTransformedList(session, sec, criteria.List <DataType>(), functor)); } }
public static List <TransitType> GetListFromNamedQuery(string ticket, ServiceQueryOptions options, string namedquery, GetTransformedInstanceDelegate functor) { using (SnCore.Data.Hibernate.Session.OpenConnection()) { ISession session = SnCore.Data.Hibernate.Session.Current; ManagedSecurityContext sec = new ManagedSecurityContext(session, ticket); IQuery query = session.GetNamedQuery(namedquery); if (options != null && options.PageSize > 0) { query.SetMaxResults(options.PageSize); } if (options != null && options.FirstResult > 0) { query.SetFirstResult(options.FirstResult); } query = query.SetResultTransformer(Transformers.AliasToBean(typeof(DataType))); return(GetTransformedList(session, sec, query.List <DataType>(), functor)); } }
public static List <TransitType> GetList(string ticket, ServiceQueryOptions options, string sqlquery, string returnalias, GetTransformedInstanceDelegate functor) { using (SnCore.Data.Hibernate.Session.OpenConnection()) { ISession session = SnCore.Data.Hibernate.Session.Current; ManagedSecurityContext sec = new ManagedSecurityContext(session, ticket); IQuery query = session.CreateSQLQuery(sqlquery).AddEntity(returnalias, typeof(DataType)); if (options != null && options.PageSize > 0) { query.SetMaxResults(options.PageSize); } if (options != null && options.FirstResult > 0) { query.SetFirstResult(options.FirstResult); } return(GetTransformedList(session, sec, query.List <DataType>(), functor)); } }
private static List <TransitType> GetTransformedList(ISession session, ManagedSecurityContext sec, IList <DataType> list, GetTransformedInstanceDelegate functor) { if (functor == null) { functor = GetTransformedInstanceFromDataType; } List <TransitType> result = new List <TransitType>(list.Count); foreach (DataType instance in list) { result.Add(functor(session, sec, instance)); } return(result); }