public override void Perform(Model sourceModel)
        {
            if (sourceModel.RootElements.Count == 0)
            {
                //create a new family instead
                var addNewFamily = new AddNewFamily {
                    LastName = "FamilyName"
                };
                addNewFamily.Perform(sourceModel);
                return;
            }

            if (FamilyIndex >= sourceModel.RootElements.Count)
            {
                FamilyIndex = sourceModel.RootElements.Count - 1;
            }

            var family = (IFamily)sourceModel.RootElements.ElementAt(FamilyIndex);

            if (family.Daughters.Count == 0)
            {
                return;
            }

            if (DaughterIndex >= family.Daughters.Count)
            {
                DaughterIndex = family.Daughters.Count - 1;
            }

            var daughter = family.Daughters.ElementAt(DaughterIndex);

            family.Daughters.Remove(daughter);
        }
示例#2
0
        public override void Perform(Model sourceModel)
        {
            if (sourceModel.RootElements.Count == 0)
            {
                //create a new family instead
                var addNewFamily = new AddNewFamily {
                    LastName = "FamilyName"
                };
                addNewFamily.Perform(sourceModel);
                return;
            }

            if (FamilyIndex >= sourceModel.RootElements.Count)
            {
                FamilyIndex = sourceModel.RootElements.Count - 1;
            }

            var family = (IFamily)sourceModel.RootElements.ElementAt(FamilyIndex);

            if (family.Sons.Count == 0)
            {
                return;
            }

            if (SonIndex >= family.Sons.Count)
            {
                SonIndex = family.Sons.Count - 1;
            }

            family.Sons[SonIndex].FirstName = NewFirstName;
        }
示例#3
0
        public override void Perform(Model sourceModel)
        {
            if (sourceModel.RootElements.Count == 0)
            {
                //create a new family instead
                var addNewFamily = new AddNewFamily {
                    LastName = "FamilyName"
                };
                addNewFamily.Perform(sourceModel);
                return;
            }

            if (FamilyIndex >= sourceModel.RootElements.Count)
            {
                FamilyIndex = sourceModel.RootElements.Count - 1;
            }

            var family = (IFamily)sourceModel.RootElements[FamilyIndex];

            family.Father.Delete();
            family.Mother.Delete();

            for (int i = 0; i < family.Sons.Count;)
            {
                family.Sons[0].Delete();
            }

            for (int i = 0; i < family.Daughters.Count;)
            {
                family.Daughters[0].Delete();
            }

            family.Delete();
        }
示例#4
0
        public override void Perform(Model sourceModel)
        {
            if (sourceModel.RootElements.Count == 0)
            {
                //create a new family instead
                var addNewFamily = new AddNewFamily {
                    LastName = "FamilyName"
                };
                addNewFamily.Perform(sourceModel);
                return;
            }

            if (FamilyIndex >= sourceModel.RootElements.Count)
            {
                FamilyIndex = sourceModel.RootElements.Count - 1;
            }

            var family = (IFamily)sourceModel.RootElements.ElementAt(FamilyIndex);

            family.Sons.Add(new Member()
            {
                FirstName = FirstName,
                FamilySon = family
            });
        }