public ConsumerPrincipal(ConsumerPrincipal principal)
            : base()
        {
            // create members
            this.Address = new Address();

            // update
            Update(principal);
        }
        public void Update(ConsumerPrincipal principal)
        {
            // update all values
            this.FirstName = principal.FirstName.Scrub();
            this.LastName  = principal.LastName.Scrub();

            // update the address
            this.Address.Update(principal.Address);

            // update the phone
            this.Phone = principal.Phone.Scrub();
        }
        public bool HasChanged(ConsumerPrincipal principal)
        {
            if (this.FirstName != principal.FirstName.Scrub() ||
                this.LastName != principal.LastName.Scrub())
            {
                return(true);
            }

            if (this.Phone != principal.Phone.Scrub())
            {
                return(true);
            }

            return(false);
        }