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>())); } }
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)))); } }
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>())); } }