/// <summary> /// Indexes this instance. /// </summary> /// <returns>Index page</returns> public ActionResult Index() { OrganizationChartPresenter presenter = new OrganizationChartPresenter(); this.AddBreadcrumbItem(Resources.Assignments, Url.AssignmentsAction()); this.AddBreadcrumbItem(Resources.OrganizationChart, Url.OrganizationChartAction()); this.LoadChart(presenter); return this.View(presenter); }
/// <summary> /// Loads the chart. /// </summary> /// <param name="presenter">The presenter.</param> private void LoadChart(OrganizationChartPresenter presenter) { var developerList = this.developerService.RetrieveList(null, null, SessionData.Instance.UserInfo.Developer.DeveloperID); var dic = developerList.ToDictionary(n => n.DeveloperID, n => n); developerList.AssignLevel(dic); this.developerIDList = developerList.Where(a => a.Level < 3).Select(a => a.DeveloperID).ToList(); foreach (int developerID in this.developerIDList) { this.count = 0; this.count = developerList.Count(o => o.ManagerID == developerID); this.memberCount.Add(developerID, this.count); } foreach (var developerID in this.memberCount.Keys) { developerList.Where(a => a.DeveloperID == developerID).ToList().ForEach(b => b.ReportingPersonCount = this.memberCount[developerID]); } presenter.AssignDeveloperList(developerList); }