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))); }