- (void)doAddContacts:(id*)sender
{
if (_user.phoneNumber == nil || [_user.phoneNumberisEqualToString:@""]) {
return;
}
ABRecordRef* person = [ABContentUtilselPersonByNumber:_user.phoneNumber];
if (person) {
ABPersonViewController *knownPersonDetail = [[ABPersonViewControlleralloc]init];
knownPersonDetail.title =NSLocalizedString(NSIntroductionTitle,nil);
knownPersonDetail.displayedPerson = person;
[knownPersonDetail setPersonViewDelegate:self];
[knownPersonDetail setAllowsEditing:NO];
// [knownPersonDetail setAllowsDeletion:YES];//no suggestion
[knownPersonDetail setAllowsActions:YES];
[self.navigationControllerpushViewController:knownPersonDetailanimated:NO];
[knownPersonDetail release];
CFRelease(person);
} else {
ABRecordRef person =ABPersonCreate();
// name
// ABRecordSetValue(person, kABPersonFirstNameProperty, userNameStr, NULL);
ABRecordSetValue(person,kABPersonLastNameProperty,userNameStr,NULL);
ABRecordSetValue(person,kABPersonNoteProperty, _ClassName,NULL);
// Job title
ABRecordSetValue(person,kABPersonOrganizationProperty,_user.companyName,NULL);
ABRecordSetValue(person,kABPersonJobTitleProperty,_user.jobTitle,NULL);
}
// phone
ABMutableMultiValueRef multiPhone =ABMultiValueCreateMutable(kABMultiStringPropertyType);
ABMultiValueAddValueAndLabel(multiPhone,_user.companyPhone,kABPersonPhoneMainLabel,NULL);
ABMultiValueAddValueAndLabel(multiPhone,_user.phoneNumber, kABPersonPhoneMobileLabel,NULL); ABMultiValueAddValueAndLabel(multiPhone,_user.companyFax,kABPersonPhoneWorkFAXLabel,NULL);
ABRecordSetValue(person,kABPersonPhoneProperty, multiPhone,nil);
CFRelease(multiPhone);
ABMutableMultiValueRef multiEmail =ABMultiValueCreateMutable(kABMultiStringPropertyType);
ABMultiValueAddValueAndLabel(multiEmail,_user.email,kABWorkLabel, NULL);
ABRecordSetValue(person,kABPersonEmailProperty, multiEmail,NULL);
CFRelease(multiEmail);
// address
ABMutableMultiValueRef multiAddress =ABMultiValueCreateMutable(kABMultiDictionaryPropertyType);
NSMutableDictionary *addressDictionary = [[NSMutableDictionaryalloc]init];
[addressDictionary setObject:[NSStringstringWithFormat:@"%@ %@",_user.companyAddressC,_user.companyAddressE]forKey:(NSString *)kABPersonAddressStreetKey];
[addressDictionary setObject:_user.companyProvinceforKey:(NSString *)kABPersonAddressCityKey];
// [addressDictionary setObject:@"200201" forKey:(NSString *)kABPersonAddressZIPKey];
ABMultiValueAddValueAndLabel(multiAddress, addressDictionary,kABWorkLabel, NULL);
ABRecordSetValue(person,kABPersonAddressProperty, multiAddress,NULL);
CFRelease(multiAddress);
ABUnknownPersonViewController *unKnownPersonDetail = [[ABUnknownPersonViewControlleralloc]init];
unKnownPersonDetail.unknownPersonViewDelegate =self;
// initialize for create/add
// unKnownPersonDetail.allowsActions = NO;
unKnownPersonDetail.displayedPerson = person;
unKnownPersonDetail.allowsAddingToAddressBook =YES;
unKnownPersonDetail.title =NSLocalizedString(NSIntroductionTitle,nil);
// Back Button
UISegmentedControl *segmentedControl = [[UISegmentedControlalloc] initWithItems:[NSArrayarrayWithObject:NSLocalizedString(NSBackBtnTitle,nil)]];
[segmentedControl addTarget:self
action:@selector(backFromContact:)
forControlEvents:UIControlEventValueChanged];
segmentedControl.frame =CGRectMake(0,0, 70,30);
segmentedControl.segmentedControlStyle =UISegmentedControlStyleBar;
segmentedControl.momentary =YES;
UIBarButtonItem *backBtn = [[UIBarButtonItemalloc] initWithCustomView:segmentedControl];
unKnownPersonDetail.navigationItem.leftBarButtonItem = backBtn;
UINavigationController *webViewNav = [[UINavigationControlleralloc] initWithRootViewController:unKnownPersonDetail];
webViewNav.navigationBar.tintColor =TITLESTYLE_COLOR;
[selfpresentModalViewController:webViewNavanimated:YES];
// [self.navigationController pushViewController:unKnownPersonDetail animated:YES];
[unKnownPersonDetail release];
[webViewNav release];
}
}