Exemplo n.º 1
0
 private void OnResolverNeedItemLookup( object sender, ResolverNeedItemLookupEventArgs e )
 {
     e.Issue = GetSourceByType( e.Source ).GetIssue( e.ID );
 }
Exemplo n.º 2
0
        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 ) );
            }
        }