public Operation <ContactData> UpdateContactData(ContactData data) => _authorizer.AuthorizeAccess(UserContext.CurrentProcessPermissionProfile(), () => { var user = UserContext.CurrentUser(); var persisted = _query.GetContactData(user); if (persisted != null) { data.CopyTo(persisted, nameof(ContactData.OwnerId), nameof(ContactData.Owner), nameof(ContactData.CreatedOn), nameof(ContactData.ModifiedOn)); return(_pcommand.Update(persisted)); } else { return(_pcommand.Add(data)); } });