protected override ISnapshot DoCreateSnapshot() { UserAccountSnapshot snapshot = new UserAccountSnapshot { UserName = this.UserName, Password = this.Password, Email = this.Email, DisplayName = this.DisplayName, ContactPhone = this.ContactPhone, ContactAddressCity = this.ContactAddress.City, ContactAddressState = this.ContactAddress.State, ContactAddressCountry = this.ContactAddress.Country, ContactAddressStreet = this.ContactAddress.Street, ContactAddressZip = this.ContactAddress.Zip }; this.bookIds.ForEach(p => snapshot.BookIds.Add(p)); return(snapshot); }
protected override void DoBuildFromSnapshot(ISnapshot snapshot) { UserAccountSnapshot s = (UserAccountSnapshot)snapshot; this.UserName = s.UserName; this.Password = s.Password; this.Email = s.Email; this.DisplayName = s.DisplayName; this.ContactPhone = s.ContactPhone; if (this.ContactAddress == null) { this.ContactAddress = new Address(); } this.ContactAddress.City = s.ContactAddressCity; this.ContactAddress.Country = s.ContactAddressCountry; this.ContactAddress.State = s.ContactAddressState; this.ContactAddress.Street = s.ContactAddressStreet; this.ContactAddress.Zip = s.ContactAddressZip; this.bookIds.Clear(); s.BookIds.ForEach(p => this.bookIds.Add(p)); }