private TreeViewModel GetTreeViewModel(Tree tree)
        {
            var treeViewModel = new TreeViewModel(tree);

            if (tree.HomeIndividualId > -1)
            {
                var homeIndividual = _individualService.Get(tree.HomeIndividualId, tree.TreeId);
                if (homeIndividual != null)
                {
                    treeViewModel.HomeIndividual = new IndividualViewModel(homeIndividual);
                }
            }
            if (tree.LastViewedIndividualId > -1)
            {
                var lastViewedIndividual = _individualService.Get(tree.LastViewedIndividualId, tree.TreeId);
                if (lastViewedIndividual != null)
                {
                    treeViewModel.LastViewedIndividual = new IndividualViewModel(lastViewedIndividual);
                }

            }
            treeViewModel.IndividualCount = _individualService.Get(tree.TreeId).Count();
            treeViewModel.FamilyCount = _familyService.Get(tree.TreeId).Count();
            treeViewModel.FactCount = _factService.Get(tree.TreeId).Count();

            if (tree.ImageId == -1)
            {
                treeViewModel.ImageUrl = "DesktopModules/FTP/FamilyTreeProject/Images/no-image-thumb.png";
            }
            else
            {
                var file = FileManager.Instance.GetFile(tree.ImageId);
                treeViewModel.ImageUrl = (file.PortalId == -1) 
                                            ? Globals.HostPath + file.RelativePath
                                            : PortalSettings.HomeDirectory + file.RelativePath;
            }

            return treeViewModel;
        }
        public HttpResponseMessage SaveTree(TreeViewModel viewModel)
        {
            var settingsViewModel = new SettingsViewModel(ActiveModule);

            Tree tree;

            if (viewModel.TreeId == -1)
            {
                tree = new Tree
                                {
                                    TreeId = -1,
                                    Name = viewModel.Name,
                                    Title = viewModel.Title,
                                    Description = viewModel.Description,
                                    OwnerId = (settingsViewModel.Owner == "user") 
                                                ? UserInfo.UserID
                                                : ActiveModule.ModuleID
                                };
                _treeService.Add(tree);
            }
            else
            {
                tree = _treeService.Get(viewModel.TreeId);
                tree.Description = viewModel.Description;
                tree.Name = viewModel.Name;
                tree.Title = viewModel.Title;
                if (viewModel.ImageId > 0)
                {
                    tree.ImageId = viewModel.ImageId;
                }
                _treeService.Update(tree);
            }

            var response = new
                            {
                                treeId = tree.TreeId
                            };

            return Request.CreateResponse(HttpStatusCode.OK, response);
        }