public string GetTargetState(WorkItem workItem, ICustomState targetState) { if (WorkItemTransitions == null) { return(null); } if (!WorkItemTransitions.ContainsKey(workItem.Type.Name)) { var witName = workItem.Type.Name; List <Transition> witTransitions = GetTransitions(witName); WorkItemTransitions.Add(witName, witTransitions); } var transitions = WorkItemTransitions[workItem.Type.Name]; if (transitions == null) { return(null); } var stateField = workItem.Fields[CoreField.State]; // If the target state is the same state as the original state value of the work item it means we move a changed work item back to its original state if (targetState.WorkItemStates.Contains(stateField.OriginalValue)) { return((string)stateField.OriginalValue); } var possibleStates = from Transition transition in transitions where transition.FromState == (string)stateField.OriginalValue && targetState.WorkItemStates.Contains(transition.ToState) select transition.ToState; return(possibleStates.Count() > 0 ? possibleStates.ElementAt(0) : null); }
/// <summary> /// Updates the grid columns. /// </summary> private void UpdateColumnWidth() { double size; foreach (DataGridColumn dataGridColumn in dataGrid.Columns) { ICustomState header = dataGridColumn.Header as ICustomState; if (header == null) { continue; } if (Model != null && Model.SelectedWorkItem != null) { if (header.Name == Model.SelectedWorkItem.State) { size = Math.Max(GetLargestWorkitemWithState(Model.SelectedWorkItem.State), 200); if (dataGridColumn.Width.Value <= size + 21) { size = (size + 21) * ZoomFactor; dataGridColumn.Width = new DataGridLength(size); } return; } } } }
public void AddCustomState(string name) { ICustomState customState = DataObjectFactory.CreateObject <ICustomState> (); customState.Name = name; customState.Color = DefaultStateColor; CustomStates.Add(customState); }
public static IEnumerable <WorkItem> GetWorkItemsByState(this IList <WorkItem> workItems, ICustomState state) { return(workItems.Where(c => state.WorkItemStates.Contains(c.State))); }
public string GetTargetState(WorkItem workItem, ICustomState targetState) { return(TaskboardService.GetTargetState(workItem, targetState)); }