|
|
|
@ -2,34 +2,31 @@ import 'dart:io'; |
|
|
|
|
|
|
|
|
|
import 'dart_tutorial/addressbook.pb.dart'; |
|
|
|
|
|
|
|
|
|
// This function fills in a Person message based on user input. |
|
|
|
|
/// This function fills in a Person message based on user input. |
|
|
|
|
Person promptForAddress() { |
|
|
|
|
Person person = Person(); |
|
|
|
|
final person = Person(); |
|
|
|
|
|
|
|
|
|
print('Enter person ID: '); |
|
|
|
|
String input = stdin.readLineSync(); |
|
|
|
|
final input = stdin.readLineSync(); |
|
|
|
|
person.id = int.parse(input); |
|
|
|
|
|
|
|
|
|
print('Enter name'); |
|
|
|
|
person.name = stdin.readLineSync(); |
|
|
|
|
|
|
|
|
|
print('Enter email address (blank for none) : '); |
|
|
|
|
String email = stdin.readLineSync(); |
|
|
|
|
if (email.isNotEmpty) { |
|
|
|
|
person.email = email; |
|
|
|
|
} |
|
|
|
|
final email = stdin.readLineSync(); |
|
|
|
|
if (email.isNotEmpty) person.email = email; |
|
|
|
|
|
|
|
|
|
while (true) { |
|
|
|
|
print('Enter a phone number (or leave blank to finish): '); |
|
|
|
|
String number = stdin.readLineSync(); |
|
|
|
|
final number = stdin.readLineSync(); |
|
|
|
|
if (number.isEmpty) break; |
|
|
|
|
|
|
|
|
|
Person_PhoneNumber phoneNumber = Person_PhoneNumber(); |
|
|
|
|
final phoneNumber = Person_PhoneNumber()..number = number; |
|
|
|
|
|
|
|
|
|
phoneNumber.number = number; |
|
|
|
|
print('Is this a mobile, home, or work phone? '); |
|
|
|
|
|
|
|
|
|
String type = stdin.readLineSync(); |
|
|
|
|
final type = stdin.readLineSync(); |
|
|
|
|
switch (type) { |
|
|
|
|
case 'mobile': |
|
|
|
|
phoneNumber.type = Person_PhoneType.MOBILE; |
|
|
|
@ -49,15 +46,15 @@ Person promptForAddress() { |
|
|
|
|
return person; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Reads the entire address book from a file, adds one person based |
|
|
|
|
// on user input, then writes it back out to the same file. |
|
|
|
|
main(List<String> arguments) { |
|
|
|
|
/// Reads the entire address book from a file, adds one person based |
|
|
|
|
/// on user input, then writes it back out to the same file. |
|
|
|
|
void main(List<String> arguments) { |
|
|
|
|
if (arguments.length != 1) { |
|
|
|
|
print('Usage: add_person ADDRESS_BOOK_FILE'); |
|
|
|
|
exit(-1); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
File file = File(arguments.first); |
|
|
|
|
final file = File(arguments.first); |
|
|
|
|
AddressBook addressBook; |
|
|
|
|
if (!file.existsSync()) { |
|
|
|
|
print('File not found. Creating new file.'); |
|
|
|
|