예제 #1
0
bool TripData::Get_Zone_Data (Zone_File &file, Zone_Data &data)
{
	if (Data_Service::Get_Zone_Data (file, data)) {
		int zone = data.Zone ();

		//---- count the records for the data file -----

		for (Data_Itr data_itr = data_group.begin (); data_itr != data_group.end (); data_itr++) {
			Db_Sort_Array *data = data_itr->data_db;

			int field = data_itr->zone_field;

			if (field >= 0) {
				zone = file.Get_Integer (field);
			}
			if (zone < 0) continue;

			if (data->Read_Record (zone)) {
				int count = data->Get_Integer (1);
				data->Put_Field (1, ++count);
				data->Write_Record (zone);
			}
		}
		return (true);
	}
	return (false);
}
예제 #2
0
bool Data_Service::Get_Zone_Data (Zone_File &file, Zone_Data &zone_rec)
{
	//---- read and save the data ----

	zone_rec.Zone (file.Zone ());
	zone_rec.X (file.X ());
	zone_rec.Y (file.Y ());
	zone_rec.Z (file.Z ());
	zone_rec.Area_Type (file.Area_Type ());
	zone_rec.Notes (file.Notes ());

	return (true);
}
예제 #3
0
bool TourData::Get_Zone_Data (Zone_File &file, Zone_Data &data)
{
	if (Data_Service::Get_Zone_Data (file, data)) {
		int zone = data.Zone ();
		int group = file.Get_Integer (group_field);

		zone_group [zone] = group;
		group_zones [group].push_back (zone);

		if (attr_flag) {
			Table_Itr table_itr;

			for (table_itr = table_groups.begin (); table_itr != table_groups.end (); table_itr++) {
				if (table_itr->special >= 0) {
					table_itr->zone_wt [zone] = file.Get_Integer (table_itr->special);
				}
			}
		}
		return (true);
	}
	return (false);
}