/// <summary> /// This member creates ListViewItems for Timsheets. /// </summary> /// <param name="timesheet">The Timesheet from which the ListViewItems will be created.</param> /// <returns>A ListViewItem object.</returns> private ListViewItem CreateTimesheetDetailListViewItem(TimesheetDate timesheetDate) { ListViewItem listViewItem = new ListViewItem(Dates.GetMMDDYYYY(timesheetDate.Date)); Timesheet timesheet = timesheetDate.Timesheet; if (timesheet.IsSplitTimesheet) { if (timesheetDate.IsWeekday) { listViewItem.ForeColor = (timesheetDate.IsValidDate && timesheetDate.BillableHours == 0) ? Color.DarkRed : Color.Red; } else { listViewItem.ForeColor = Color.Red; } } else { if (timesheetDate.IsValidDate) { if (timesheetDate.IsWeekday && timesheetDate.BillableHours == 0) { listViewItem.ForeColor = Color.DarkRed; } } } listViewItem.Font = (timesheetDate.IsValidDate) ? listViewItem.Font : new Font(listViewItem.Font, FontStyle.Strikeout); listViewItem.StateImageIndex = timesheetDate.Timesheet.TimesheetSent ? DefaultImageList.Instance.GetLockedIconIndex() : -1; listViewItem.ImageIndex = DefaultImageList.Instance.GetCalendarIconIndex(); listViewItem.SubItems.Add(timesheetDate.Date.DayOfWeek.ToString()); listViewItem.SubItems.Add(timesheetDate.DayType.Name); listViewItem.SubItems.Add(timesheetDate.BillableHours.ToString()); listViewItem.SubItems.Add(timesheetDate.GetFormattedRatePerHour()); listViewItem.SubItems.Add(timesheetDate.GetFormattedInvoiceAmount()); listViewItem.SubItems.Add(timesheetDate.Notes); listViewItem.Tag = timesheetDate; return listViewItem; }
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); }
private void UpdateTimesheetDetailListViewItem(TimesheetDate timesheetDate) { const string noExistsError = "UpdateTimesheetDateListViewItem() failed in an attempt " + "to update the Timesheet's Detail ListItem in the ListView because it does not exist; " + "use InsertDayTypesListViewItem() instead."; ListViewItem listViewItem; if (!GetTimesheetDetailListViewItem(timesheetDate, out listViewItem)) { throw new InvalidOperationException(noExistsError); } else { listViewItem.StateImageIndex = timesheetDate.Timesheet.TimesheetSent ? DefaultImageList.Instance.GetLockedIconIndex() : -1; listViewItem.ImageIndex = DefaultImageList.Instance.GetCalendarIconIndex(); listViewItem.Text = Dates.GetMMDDYYYY(timesheetDate.Date); listViewItem.SubItems[1].Text = timesheetDate.Date.DayOfWeek.ToString(); listViewItem.SubItems[2].Text = timesheetDate.DayType.Name; listViewItem.SubItems[3].Text = timesheetDate.BillableHours.ToString(); listViewItem.SubItems[4].Text = timesheetDate.GetFormattedRatePerHour(); listViewItem.SubItems[5].Text = timesheetDate.GetFormattedInvoiceAmount(); listViewItem.SubItems[6].Text = timesheetDate.Notes; } }