예제 #1
0
        public ActionResult FamilyTreePartialView(PersonViewModel node)
        {
            PersonModel        selectedNode = _dalModelRetriever.GetPersonById(node.Id);
            List <PersonModel> peopleList   = _dalModelRetriever.GetAllPeople();

            selectedNode.Relatives = _familyManager.FindChildren(selectedNode, peopleList);
            PersonModel lastDescendant = _familyManager.GetFullFamilyTreeFromRoot(selectedNode, peopleList);

            ViewData["SelectedNode"]     = selectedNode.Id;
            ViewData["LastDescendantId"] = lastDescendant.Id;
            return(PartialView("_FamilyTree", lastDescendant));
        }
예제 #2
0
        public ActionResult Edit(int id = 0)
        {
            PersonModel        person = _dalModelRetriever.GetPersonById(id);
            List <PersonModel> people = _dalModelRetriever.GetAllPeople();
            int parentCount           = _familyManager.FindParents(person, people).Count;

            if (parentCount == 1)
            {
                PersonModel parent = _familyManager.FindParents(person, people)[0];
                ViewData["parentGender"] = parent.Gender;
            }
            ViewData["name"] = person.Name;

            EditViewModel editedPerson = PersonMapper.ConvertToEditViewModel(person);

            editedPerson.ParentCount = parentCount;
            return(View(editedPerson));
        }