示例#1
0
        public void FamilySerializeDeserialize()
        {
            Family fieldFamily        = FamilyGenerator.GetData();
            Family deserializedFamily = new FamilySerializeHelper(
                string.Format(
                    ".\\serialized\\{0}.{1}",
                    fieldFamily.Name,
                    FamilySerializeHelper.StandardExtension
                    )
                ).Save(fieldFamily).Load();

            foreach (Member member in fieldFamily.Members.Values)
            {
                Assert.AreEqual(
                    deserializedFamily.Members[member.Id].BirthDate,
                    fieldFamily.Members[member.Id].BirthDate
                    );

                Assert.AreEqual(
                    deserializedFamily.Members[member.Id].DeathDate,
                    fieldFamily.Members[member.Id].DeathDate
                    );

                Assert.AreEqual(
                    deserializedFamily.Members[member.Id].Refs.ParentId,
                    fieldFamily.Members[member.Id].Refs.ParentId
                    );

                Assert.AreEqual(
                    deserializedFamily.Members[member.Id].Refs.ChildrenIds.Count(),
                    fieldFamily.Members[member.Id].Refs.ChildrenIds.Count()
                    );

                foreach (DateTime at in new HashSet <DateTime>()
                {
                    DateTime.Now,
                    FamilyGenerator.KalebWeddingDate,
                    FamilyGenerator.KoreyWeddingDate,
                    FamilyGenerator.RumaysaWeddingDate,
                    FamilyGenerator.HenriettaWeddingDate,
                    FamilyGenerator.SebastianWithKarishmaDate
                }.Where(d => d >= member.BirthDate))
                {
                    Assert.AreEqual(
                        deserializedFamily.Members[member.Id].FullName.Value(at),
                        fieldFamily.Members[member.Id].FullName.Value(at)
                        );

                    Assert.AreEqual(
                        deserializedFamily.Members[member.Id].Status.Value(at),
                        fieldFamily.Members[member.Id].Status.Value(at)
                        );
                }
            }

            FamilyTests.CheckFieldFamilyReferences(deserializedFamily);
        }
示例#2
0
        private void LoadFamily()
        {
            Family loadedFamily = new FamilySerializeHelper(FileFullName).Load();

            if (loadedFamily == null)
            {
                new ValidationFailedDialog("Unable to load family. The file might be damaged.").ShowDialog();
            }
            else
            {
                SourceFamily   = loadedFamily;
                UnsavedChanges = false;
                UpdateUI();
                UpdateUIMembersListBox();
            }
        }