public virtual ActionResult Jigsaw(JigsawSyncViewModel model) { var contact = _contactByIdQuery.RequestedByUserId(CurrentUserId).WithContactId(model.ContactId).Execute(); if (contact == null) { throw new MJLEntityNotFoundException(typeof(Contact), model.ContactId); } if (!ModelState.IsValid) { model.InternalEmail = contact.Email; model.InternalName = contact.Name; model.InternalPhone = contact.DirectPhone; model.InternalTitle = contact.Title; return(View(model)); } _editContactCmd.RequestedByUserId(CurrentUserId) .WithContactId(model.ContactId); // Only update data selected to be imported if (model.ImportName) { _editContactCmd.SetName(model.JigsawName); } if (model.ImportTitle) { _editContactCmd.SetTitle(model.JigsawTitle); } if (model.ImportEmail) { _editContactCmd.SetEmail(model.JigsawEmail); } if (model.ImportPhone) { _editContactCmd.SetDirectPhone(model.JigsawPhone); } _editContactCmd.SetJigsawId(model.JigsawId); _editContactCmd.Execute(); return(RedirectToAction(MVC.Contact.Details(model.ContactId))); }
public virtual ActionResult Jigsaw(int contactId, int jigsawId, string externalName, string externalTitle, DateTime lastUpdated, string externalEmail = "", string externalPhone = "") { var contact = _contactByIdQuery.RequestedByUserId(CurrentUserId).WithContactId(contactId).Execute(); if (contact == null) { throw new MJLEntityNotFoundException(typeof(Contact), contactId); } var model = new JigsawSyncViewModel { ContactId = contactId, JigsawId = jigsawId, LastUpdatedOnJigsaw = lastUpdated, InternalName = contact.Name, InternalEmail = contact.Email, InternalPhone = contact.DirectPhone, InternalTitle = contact.Title, JigsawName = externalName, JigsawEmail = externalEmail, JigsawPhone = externalPhone, JigsawTitle = externalTitle }; try { var jsContact = _getJsContactProc.Execute(new GetJigsawContactDetailsParams { RequestingUserId = CurrentUserId, PurchaseContact = false, JigsawContactId = jigsawId }); model.JigsawName = jsContact.FirstName + " " + jsContact.LastName; model.JigsawTitle = jsContact.Headline; model.JigsawEmail = jsContact.Email; model.JigsawPhone = jsContact.Phone; } // Ignore any jigsaw exceptions catch (JigsawException) { } return(View(model)); }