示例#1
0
        public List <TransitNeighborhood> GetNeighborhoodsByLocation(string ticket, string country, string state, string city, ServiceQueryOptions options)
        {
            using (SnCore.Data.Hibernate.Session.OpenConnection())
            {
                ISession session = SnCore.Data.Hibernate.Session.Current;
                ManagedSecurityContext     sec    = new ManagedSecurityContext(session, ticket);
                List <TransitNeighborhood> result = new List <TransitNeighborhood>();

                if (string.IsNullOrEmpty(city) || string.IsNullOrEmpty(country))
                {
                    return(result);
                }

                City t_city = ManagedCity.Find(session, city, state, country);

                ICriteria cr = session.CreateCriteria(typeof(Neighborhood))
                               .Add(Expression.Eq("City.Id", t_city.Id));

                if (options != null)
                {
                    cr.SetFirstResult(options.FirstResult);
                    cr.SetMaxResults(options.PageSize);
                }

                return(WebServiceImpl <TransitNeighborhood, ManagedNeighborhood, Neighborhood> .GetTransformedList(
                           session, sec, cr.List <Neighborhood>()));
            }
        }
示例#2
0
 public List <TransitConfiguration> GetConfigurations(string ticket, ServiceQueryOptions options)
 {
     using (SnCore.Data.Hibernate.Session.OpenConnection())
     {
         ISession session           = SnCore.Data.Hibernate.Session.Current;
         ManagedSecurityContext sec = new ManagedSecurityContext(session, ticket);
         return(WebServiceQueryOptions <TransitConfiguration> .Apply(options,
                                                                     WebServiceImpl <TransitConfiguration, ManagedConfiguration, Configuration> .GetTransformedList(
                                                                         session, sec, ManagedConfiguration.GetAllConfigurations(session))));
     }
 }
示例#3
0
        public List <TransitCity> GetCitiesByLocation(string ticket, string country, string state, ServiceQueryOptions options)
        {
            using (SnCore.Data.Hibernate.Session.OpenConnection())
            {
                ISession session              = SnCore.Data.Hibernate.Session.Current;
                ManagedSecurityContext sec    = new ManagedSecurityContext(session, ticket);
                List <TransitCity>     result = new List <TransitCity>();

                if (string.IsNullOrEmpty(country))
                {
                    return(result);
                }

                Country t_country = ManagedCountry.Find(session, country);

                ICriteria cr = session.CreateCriteria(typeof(City))
                               .Add(Expression.Eq("Country.Id", t_country.Id));

                if (t_country.States != null && t_country.States.Count > 0 && string.IsNullOrEmpty(state))
                {
                    // no state specified but country has states
                    return(result);
                }

                if (!string.IsNullOrEmpty(state))
                {
                    // state specified
                    State t_state = ManagedState.Find(session, state, country);
                    cr.Add(Expression.Eq("State.Id", t_state.Id));
                }

                if (options != null)
                {
                    cr.SetFirstResult(options.FirstResult);
                    cr.SetMaxResults(options.PageSize);
                }

                return(WebServiceImpl <TransitCity, ManagedCity, City> .GetTransformedList(
                           session, sec, cr.List <City>()));
            }
        }