예제 #1
0
 public void UpdateDataTable(DataTable dataTable)
 {
     IDbParametersBuilder builder = new DbParametersBuilder(DbProvider);
     foreach (DataRow dataRow in dataTable.Rows)
     {
         Console.WriteLine(dataRow.ItemArray.ToString());
         Console.WriteLine(dataRow.RowState.ToString());
     }
     AdoTemplate.DataTableUpdateWithCommandBuilder(dataTable, CommandType.Text, "SELECT * FROM " + dataTable.TableName,
                                                   builder.GetParameters(), dataTable.TableName);
 }
예제 #2
0
 public void FastUpdateDataTable(DataTable dataTable,string tableName)
 {
     DataTable current = ExecuteQueryAll(tableName);
     current.TableName = tableName;
     ReflectUpdateTable(current, dataTable);
     IDbParametersBuilder builder = new DbParametersBuilder(DbProvider);
     AdoTemplate.DataTableUpdateWithCommandBuilder(current.GetChanges(), CommandType.Text, "SELECT * FROM " + current.TableName,
                                                   builder.GetParameters(), current.TableName);
     // submit changes
     //Flush the session to execute sql in the db.
     SessionFactoryUtils.GetSession(SessionFactory, true).Flush();
 }
예제 #3
0
 public void UpdateDataTable(DataTable source,DataTable changes)
 {
     IDbParametersBuilder builder = new DbParametersBuilder(DbProvider);
     source.Merge(changes);
     AdoTemplate.DataTableUpdateWithCommandBuilder(source, CommandType.Text, "SELECT * FROM " + source.TableName,
                                                   builder.GetParameters(), source.TableName);
 }
예제 #4
0
        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;
        }