{
string returnString = string.Empty;
try
{
//getting contact detail from database
var contactDetail = contactRepository.GetContactById(contactID);
if (contactDetail.Email.Contains("@email."))
{
// Deloitte staff email addresses are stored differently...!
returnString = "staff are already in outlook!";
}
else
{
var company = clientRepository.GetAllClients().Where(c => c.Client_ID == contactDetail.Client_ID).ToList();
//creating new contact
Outlook.Application outlookApp = new Outlook.Application();
Outlook.ContactItem newContact = (Outlook.ContactItem)outlookApp.CreateItem(OlItemType.olContactItem);
//check if contact exist
NameSpace mapiNamespace = outlookApp.GetNamespace("MAPI");
MAPIFolder outlookContactList = mapiNamespace.GetDefaultFolder(OlDefaultFolders.olFolderContacts);
bool isContactUnique = true;
for (int i = 1; i < outlookContactList.Items.Count + 1; i++)
{
var contact = outlookContactList.Items[i] as ContactItem;
if (contact.Email1Address == contactDetail.Email)
{
isContactUnique = false;
break;
}
}
if (isContactUnique == true)
{
newContact.FirstName = contactDetail.Name;
newContact.Email1Address = contactDetail.Email;
newContact.PrimaryTelephoneNumber = contactDetail.Phone;
newContact.MobileTelephoneNumber = contactDetail.Mobile;
newContact.BusinessFaxNumber = contactDetail.Fax;
newContact.JobTitle = contactDetail.Job_Title;
newContact.CompanyName = company[0].Name;
newContact.BusinessAddress = company[0].Address_1;
newContact.BusinessAddressStreet = company[0].Address_2;
newContact.BusinessAddressPostalCode = company[0].Address_5;
newContact.BusinessAddressCountry = company[0].Country;
newContact.Save();
newContact.Display(true);
returnString = "Contact added!";
}
else
{
returnString = "Contact already exists!";
}
} // Not a deloitte member of staff
}
catch (System.Exception ex)
{
returnString = ex.Message;
}
return Json(returnString);
}
No comments:
Post a Comment