public async Task UpdateContact(MyContact myContact) { var client = await EnsureClientCreated(); var contactToUpdate = await client.Me.Contacts.GetById(myContact.Id).ExecuteAsync(); contactToUpdate.GivenName = myContact.GivenName; contactToUpdate.Surname = myContact.Surname; contactToUpdate.CompanyName = myContact.CompanyName; if (!string.IsNullOrEmpty(myContact.EmailAddress)) { contactToUpdate.EmailAddresses[0].Address = myContact.EmailAddress; contactToUpdate.EmailAddresses[0].Name = myContact.EmailAddress; } contactToUpdate.BusinessPhones[0] = !string.IsNullOrEmpty(myContact.BusinessPhone) ? myContact.BusinessPhone : null; contactToUpdate.HomePhones[0] = !string.IsNullOrEmpty(myContact.HomePhone) ? myContact.HomePhone : null; await contactToUpdate.UpdateAsync(true); await client.Context.SaveChangesAsync(); }
public async Task AddContact(MyContact myContact) { // acquire a O365 client to retrieve contacts var client = await EnsureClientCreated(); // create new contact record var newContact = new Microsoft.Office365.OutlookServices.Contact { GivenName = myContact.GivenName, Surname = myContact.Surname, CompanyName = myContact.CompanyName }; // add email address newContact.EmailAddresses.Add(new EmailAddress() { Address = myContact.EmailAddress, Name = myContact.EmailAddress }); // add phone numbers to collections newContact.HomePhones.Add(myContact.HomePhone); newContact.BusinessPhones.Add(myContact.BusinessPhone); // create the contact in O365 await client.Me.Contacts.AddContactAsync(newContact); }
public async Task<ActionResult> Create(MyContact contact) { if (Request.HttpMethod == "POST") { MyContactRepository repo = new MyContactRepository(); await repo.AddContact(contact); return Redirect("/Contacts"); } else { return View(contact); } }
public async Task<ActionResult> Edit(string Id, MyContact contact) { MyContactRepository repo = new MyContactRepository(); if (Request.HttpMethod == "POST") { await repo.UpdateContact(contact); return Redirect("/Contacts"); } else { contact = await repo.GetContact(Id); return View(contact); } }