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