Inheritance: RenderingModel
 private void SaveFormDetailsToContact(ContactModel model)
 {
     SavePartnerSummitDataToContact(model);
     SaveNameToContact(model);
     SaveEmailDetailsToContact(model);
     SaveContactIdentification(model);
 }
 public ActionResult CreateContact(ContactModel model)
 {
     StartTrackingIfNecessary();
     InitializeContact();
     SaveFormDetailsToContact(model);
     return RedirectToHomepage();
 }
 private void SaveEmailDetailsToContact(ContactModel model)
 {
     var emailInfoFacet = contact.GetFacet<IContactEmailAddresses>("Emails");
     if (!emailInfoFacet.Entries.Contains("Work"))
     {
         var mail = emailInfoFacet.Entries.Create("Work");
         mail.SmtpAddress = model.Email;
         emailInfoFacet.Preferred = "Work";
     }
 }
 private void SavePartnerSummitDataToContact(ContactModel model)
 {
     var employeeDataFacet = contact.GetFacet<IPartnerSummitData>("Partnersummit Data");
     employeeDataFacet.AttendeeId = model.AttendeeId;
     employeeDataFacet.Attending = true;
 }
 private void SaveNameToContact(ContactModel model)
 {
     var personalInfoFacet = contact.GetFacet<IContactPersonalInfo>("Personal");
     personalInfoFacet.FirstName = model.Firstname;
     personalInfoFacet.Surname = model.Surname;
 }
 private void SaveContactIdentification(ContactModel model)
 {
     contact.Identifiers.IdentificationLevel = ContactIdentificationLevel.Known;
     contact.Identifiers.Identifier = model.Email; // Not recommended! Emails can change.
 }