private void OnResolverNeedItemLookup( object sender, ResolverNeedItemLookupEventArgs e ) { e.Issue = GetSourceByType( e.Source ).GetIssue( e.ID ); }
private void HandleOneSidedIssue( Issue primaryIssue, Issue secondaryIssue ) { Issue existingIssue; ResolverSourceType existingSource; ResolverSourceType missingSource; System.Diagnostics.Debug.Assert( ( primaryIssue == null ) != ( secondaryIssue == null ) ); if( primaryIssue == null ) { existingIssue = secondaryIssue; existingSource = ResolverSourceType.Secondary; missingSource = ResolverSourceType.Primary; } else { existingIssue = primaryIssue; existingSource = ResolverSourceType.Primary; missingSource = ResolverSourceType.Secondary; } if( existingIssue.State == IssueState.Closed ) return; var eventData = new ResolverNeedItemLookupEventArgs( existingIssue.ID, missingSource ); if( !string.IsNullOrEmpty( existingIssue.ID ) ) { this.NeedItemLookup( this, eventData ); } if( eventData.Issue == null ) { this.Action( this, new ResolverActionEventArgs( existingIssue, missingSource, ResolverActionType.Add ) ); } else if( eventData.Issue.State == IssueState.Closed ) { this.Action( this, new ResolverActionEventArgs( existingIssue, existingSource, ResolverActionType.Close ) ); } }