public virtual IDictionary GetPostalCodeCustomerMapping() { PostalCodeRowCallback statefullCallback = new PostalCodeRowCallback(); AdoTemplate.QueryWithRowCallback(CommandType.Text, cmdText, statefullCallback); // Do something with results in stateful callback... return(statefullCallback.PostalCodeMultimap); }
public FlightCollection GetFlights(Airport origin, Airport destination, DateTime departureDate) { #region Sanity Checks AssertUtils.ArgumentNotNull(origin, "origin"); AssertUtils.ArgumentNotNull(destination, "destination"); #endregion FlightCollection flights = new FlightCollection(); IDbParametersBuilder builder = new DbParametersBuilder(DbProvider); builder.Create().Name("departureDate").Type(DbType.Date).Value(departureDate); builder.Create().Name("departureAirport").Type(DbType.Int32).Value(origin.Id); builder.Create().Name("destinationAirport").Type(DbType.Int32).Value(destination.Id); #if NET_2_0 AdoTemplate.QueryWithRowCallbackDelegate(CommandType.Text, FlightsQuery, delegate(IDataReader dataReader) { int flightId = dataReader.GetInt32(0); string flightNumber = dataReader.GetString(1); Aircraft aircraft = aircraftDao.GetAircraft(dataReader.GetInt32(2)); //TODO: Load cabins from the database Cabin[] cabins = aircraft.Cabins; Flight flight = new Flight(flightId, flightNumber, origin, destination, aircraft, departureDate, cabins); flights.Add(flight); }, builder.GetParameters()); #else AdoTemplate.QueryWithRowCallback(CommandType.Text, FlightsQuery, new FlightRowCallback(flights, aircraftDao, origin, destination, departureDate), builder.GetParameters()); #endif /* * IDbCommand command = GetCommand(FlightsQuery); * using(new ConnectionManager(command.Connection)) * { * SetFlightQueryParameters(command, departureDate, origin.Id, destination.Id); * using (SqlDataReader reader = (SqlDataReader) command.ExecuteReader()) * { * while(reader.Read()) * { * int flightId = reader.GetInt32(0); * string flightNumber = reader.GetString(1); * Aircraft aircraft = aircraftDao.GetAircraft(reader.GetInt32(2)); * * //TODO: Load cabins from the database * Cabin[] cabins = aircraft.Cabins; * * Flight flight = new Flight(flightId, flightNumber, origin, destination, aircraft, departureDate, cabins); * flights.Add(flight); * } * } * } */ return(flights); }