Пример #1
0
        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)));
        }