internal static Task<Report> CreateReport(string projectPath, CancellationToken cancellationToken, IProgress<string> progress, ICodeInspectSettings codeInspectSettings)
        {
            TaskCompletionSource<Report> completedTask = new TaskCompletionSource<Report>();
            try
            {
                if (cancellationToken.IsCancellationRequested)
                {
                    completedTask.TrySetCanceled();
                    return completedTask.Task;
                }

                if (projectPath.EndsWith("xml"))
                {
                    completedTask.TrySetResult(CreateReportFromXml(projectPath));
                }
                else
                {
                    return CreateReportFromProject(
                            codeInspectSettings.InspectCodePath,
                            projectPath,
                            Path.Combine(Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location), DateTime.Now.Ticks + ".xml"),
                            progress: progress);
                }
            }
            catch (Exception ex)
            {
                completedTask.TrySetException(ex);
            }

            return completedTask.Task;
        }
        internal static Task <Report> CreateReport(string projectPath, CancellationToken cancellationToken, IProgress <string> progress, ICodeInspectSettings codeInspectSettings)
        {
            TaskCompletionSource <Report> completedTask = new TaskCompletionSource <Report>();

            try
            {
                if (cancellationToken.IsCancellationRequested)
                {
                    completedTask.TrySetCanceled();
                    return(completedTask.Task);
                }

                if (projectPath.EndsWith("xml"))
                {
                    completedTask.TrySetResult(CreateReportFromXml(projectPath));
                }
                else
                {
                    return(CreateReportFromProject(
                               codeInspectSettings.InspectCodePath,
                               projectPath,
                               Path.Combine(Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location), DateTime.Now.Ticks + ".xml"),
                               progress: progress));
                }
            }
            catch (Exception ex)
            {
                completedTask.TrySetException(ex);
            }

            return(completedTask.Task);
        }
 public CodeInspectService(ICodeInspectSettings settings, IEventAggregator eventAggregator)
 {
     this.settings = settings;
     this.eventAggregator = eventAggregator;
 }
 public CodeInspectService(ICodeInspectSettings settings, IEventAggregator eventAggregator)
 {
     this.settings        = settings;
     this.eventAggregator = eventAggregator;
 }