public ActionResult InitTree() { try { var account = Session["Account"] as Account; account.OrganizationPermissions = OrganizationDataAccessor.GetOrganizationPermissions(account.OrganizationId); Session["Account"] = account; var organizations = HttpRuntime.Cache.GetOrInsert("Organizations", () => OrganizationDataAccessor.GetAllOrganizations()); RequestResult requestResult = new RequestResult(); if (account.RootOrganizationId == new Guid()) { requestResult = OrganizationDataAccessor.GetTreeItem(organizations, account.RootOrganizationId, account); } else { requestResult = OrganizationDataAccessor.GetRootTreeItem(organizations, account.RootOrganizationId, account); } if (requestResult.IsSuccess) { return(PartialView("_Tree", JsonConvert.SerializeObject((List <TreeItem>)requestResult.Data))); } else { return(PartialView("_Error", requestResult.Error)); } } catch (Exception e) { var error = new Error(MethodBase.GetCurrentMethod(), e); Logger.Log(error); return(PartialView("_Error", error)); throw; } }