private void UpdateTreeView() { DateTime startDate = m_startDate.Value; DateTime endDate = m_endDate.Value; //DateTime timesheetStartDate = new DateTime(startDate.Year, startDate.Month, 1); //DateTime timesheetEndDate = endDate.AddMonths(1).AddDays(-endDate.Day); RangeTimesheets rangeTimesheets = new RangeTimesheets(startDate, endDate); this.RangeTimesheets = rangeTimesheets; int totalTimesheets = rangeTimesheets.Count; RootTreeNode rootNode = new RootTreeNode("Root", DefaultImageList.Instance.GetRootIconIndex()); // Monthly Timesheets... foreach (MonthlyTimesheets monthlyTimesheets in rangeTimesheets.MonthlyTimesheets) { // Timesheets... foreach (Timesheet timesheet in monthlyTimesheets.Timesheets) { // TimesheetDates... foreach (TimesheetDate timesheetDate in timesheet.Dates.Where(p=>p.IsValidDate)) { if (timesheetDate.Date < startDate || timesheetDate.Date > endDate) { continue; } Color foreColor = DayTypes.GetDayTypeForeColor(timesheetDate.DayType); TimesheetDateTreeNode treeNode = new TimesheetDateTreeNode(timesheetDate, DefaultImageList.Instance.GetCalendarIconIndex()); treeNode.ForeColor = foreColor; AddTimesheetDateTreeNodeDetailNodes(treeNode, timesheetDate, foreColor); rootNode.Nodes.Add(treeNode); } } } rootNode.Expand(); m_treeView.Nodes.Add(rootNode); }
private void AddTimesheetDateTreeNodeDetailNodes(TimesheetDateTreeNode timesheetDateTreeNode, TimesheetDate timesheetDate, Color foreColor) { TreeNodeEx treeNode = null; int imageIndex = DefaultImageList.Instance.GetPropertyIconIndex(); // DayType Name... treeNode = new TimesheetDateDetailTreeNode(timesheetDate.DayType.Name, imageIndex); treeNode.ForeColor = foreColor; timesheetDateTreeNode.Nodes.Add(treeNode); // Billable Hours... treeNode = new TimesheetDateDetailTreeNode(string.Format("Billable Hours: {0}", timesheetDate.GetFormattedBillableHours()), imageIndex); treeNode.ForeColor = foreColor; timesheetDateTreeNode.Nodes.Add(treeNode); // Rate Per Hour... treeNode = new TimesheetDateDetailTreeNode(string.Format("Rate Per Hour: {0}", timesheetDate.GetFormattedRatePerHour()), imageIndex); treeNode.ForeColor = foreColor; timesheetDateTreeNode.Nodes.Add(treeNode); }