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); }