internal static void SetColorByState(this DataGridViewCell cell, WorkItem workItem) { switch (workItem.State) { case WorkItemState.Proposed: case WorkItemState.ToDo: cell.Style.BackColor = CellsPalette.StateProposed; break; case WorkItemState.Active: cell.Style.BackColor = workItem.IsDevCompleted() ? CellsPalette.StateDevCompleted : CellsPalette.StateActive; break; case WorkItemState.Resolved: case WorkItemState.Done: cell.Style.BackColor = CellsPalette.StateResolved; break; } }
internal bool FillLeadTaskInfo( ViewFiltersBuilder viewFiltersBuilder, WorkItem leadTask, DataGridViewRow leadTaskRow, DataContainer data, List<int> blockersIds) { var priorityCell = leadTaskRow.Cells[m_viewColumnsIndexes.PriorityColumnIndex]; priorityCell.Value = leadTask.Priority(); priorityCell.SetColorByState(leadTask); priorityCell.ToolTipText = leadTask.IsDevCompleted() ? WorkItemState.DevCompleted : leadTask.State; var iterationCell = leadTaskRow.Cells[m_viewColumnsIndexes.IterationColumnIndex]; string iteration = leadTask.IterationPath; int ind = iteration.IndexOf(m_iterationSeparator); if (ind != -1) iteration = iteration.Substring(ind + 1); iterationCell.Value = iteration; var sprintCell = leadTaskRow.Cells[m_viewColumnsIndexes.SprintColumnIndex]; sprintCell.Value = leadTask.Sprint(); var idCell = leadTaskRow.Cells[m_viewColumnsIndexes.IdColumnIndex]; idCell.Value = leadTask.Id; idCell.ToolTipText = leadTask.IterationPath; idCell.Style.BackColor = priorityCell.Style.BackColor; var verificationResult = WorkItemVerifier.VerifyChildrenExistance(leadTask, data); if (verificationResult.Result != VerificationResult.Ok) { idCell.SetColorByVerification(verificationResult.Result); idCell.ToolTipText += Environment.NewLine + verificationResult.AllMessagesString; } var docsCell = leadTaskRow.Cells[m_viewColumnsIndexes.DocsColumnIndex]; bool result; verificationResult = WorkItemVerifier.VerifyDocumentsAgreement(leadTask); if (verificationResult.Result == VerificationResult.Ok) { docsCell.Style.BackColor = priorityCell.Style.BackColor; result = true; } else { docsCell.Value = verificationResult.AddidtionalData; docsCell.SetColorByVerification(verificationResult.Result); docsCell.ToolTipText = verificationResult.AllMessagesString; result = false; } var titleCell = leadTaskRow.Cells[m_viewColumnsIndexes.TitleColumnIndex]; titleCell.Value = leadTask.Title; titleCell.Style.Font = new Font( titleCell.Style.Font ?? titleCell.OwningColumn.DefaultCellStyle.Font ?? m_dataGridView.ColumnHeadersDefaultCellStyle.Font, FontStyle.Underline); titleCell.Style.BackColor = priorityCell.Style.BackColor; verificationResult = WorkItemVerifier.VerifyNoProposedChildTask(leadTask, data); if (verificationResult.Result != VerificationResult.Ok) { priorityCell.SetColorByVerification(verificationResult.Result); priorityCell.ToolTipText = verificationResult.AllMessagesString; } var blockersCell = leadTaskRow.Cells[m_viewColumnsIndexes.BlockersColumnIndex]; verificationResult = WorkItemVerifier.VerifyBlockersExistance(blockersIds); if (verificationResult.Result != VerificationResult.Ok) { blockersCell.SetColorByVerification(verificationResult.Result); blockersCell.Value = verificationResult.AllMessagesString; } if (!string.IsNullOrEmpty(leadTask.BlockingReason())) { if (!string.IsNullOrEmpty(leadTaskRow.Cells[4].ToolTipText)) blockersCell.ToolTipText += Environment.NewLine; else blockersCell.Value = leadTask.BlockingReason(); blockersCell.ToolTipText += "Blocking Reason: " + leadTask.BlockingReason(); } leadTaskRow.Cells[m_viewColumnsIndexes.AssignedToColumnIndex].Value = leadTask.AssignedTo(); return result; }