public void AddUniqueIssue(IssueRequiredFieldsMap issue) { if (Issues == null) { Issues = new List<IssueRequiredFieldsMap>(); } var findIndex = Issues.FindIndex(i => String.Equals(i.IssueType.Name, issue.IssueType.Name, StringComparison.OrdinalIgnoreCase)); if (findIndex == -1) { Issues.Add(issue); } else { Issues[findIndex] = issue; } }
public void AddUniqueIssue(IssueRequiredFieldsMap issue) { if (Issues == null) { Issues = new List <IssueRequiredFieldsMap>(); } var findIndex = Issues.FindIndex(i => String.Equals(i.IssueType.Name, issue.IssueType.Name, StringComparison.OrdinalIgnoreCase)); if (findIndex == -1) { Issues.Add(issue); } else { Issues[findIndex] = issue; } }
private bool GetRequiredFieldValue(ProjectIssueRequiredFieldsMap projectMap) { if (CurrentAssignProject != null && JiraOperator != null) { var waitingForm = new FormWaiting( new Task <object>( () => { try { return((object)JiraOperator.GetIssueCreateMeta(CurrentAssignProject.ID, CurrentSelectedIssueType.Name)); } catch (Exception) { return(null); } })); if (waitingForm.ShowDialog() == DialogResult.OK) { var meta = waitingForm.Result as JiraCreateIssueMeta; if (meta != null && meta.IssueTypes != null) { var currentMeta = meta.IssueTypes.FirstOrDefault(); if (currentMeta != null) { var issue = new IssueRequiredFieldsMap(); var required = currentMeta.Fields.Where( m => String.IsNullOrWhiteSpace(m.Value.Schema.System) && m.Value.Required).ToDictionary( pair => pair.Key, pair => pair.Value); var requiredSystemFields = currentMeta.Fields.Where( m => !String.IsNullOrWhiteSpace(m.Value.Schema.System)).ToDictionary( pair => pair.Key, pair => pair.Value); if (required.Keys.Count > 0) { var requireField = new FormReqiuredFields(required); if (requireField.ShowDialog() == DialogResult.OK) { issue.IssueType = new JiraIssueType { Name = CurrentSelectedIssueType.Name }; issue.RequiredFieldsJsonValue = requireField.FieldsValues; issue.SystemField = requiredSystemFields.Values.ToList(); projectMap.AddUniqueIssue(issue); return(true); } } else { issue.IssueType = new JiraIssueType { Name = CurrentSelectedIssueType.Name }; issue.NoRequiredFields = true; issue.SystemField = requiredSystemFields.Values.ToList(); projectMap.AddUniqueIssue(issue); return(true); } } } } } return(false); }