Ejemplo n.º 1
0
 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));
     }
 }
Ejemplo n.º 2
0
 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));
     }
 }
Ejemplo n.º 3
0
 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));
     }
 }
Ejemplo n.º 4
0
        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);
        }