Exemplo n.º 1
0
 public CloneRepositoryCommand(
     IGitRemoteSearchService searchService,
     IConnectedServiceManager serviceManager,
     IUserSettingsManager settingsManager,
     IDefaultShellService defaultShellService,
     ILocalRepositoryIndexer localRepositoryIndexer)
 {
     _searchService          = searchService;
     _serviceManager         = serviceManager;
     _settingsManager        = settingsManager;
     _shellService           = defaultShellService;
     _localRepositoryIndexer = localRepositoryIndexer;
 }
Exemplo n.º 2
0
        public async Task <int> IndexWorkRootsAsync(
            [Service] IHubContext <ConsoleHub> hubContext,
            [Service] ILocalRepositoryIndexer repositoryIndexer,
            [Service] IUserSettingsManager settingsManager,
            CancellationToken cancellationToken)
        {
            UserSettings settings = await settingsManager.GetAsync(cancellationToken);

            var session = new MessageSession();

            Action <string> handler = async(string msg) =>
            {
                await hubContext.Clients.All.SendAsync("consoleData",
                                                       new ShellMessage(session.Next(), "Info", msg));
            };

            int indexCount = 0;

            foreach (WorkRoot wr in settings.WorkRoots)
            {
                var count = await repositoryIndexer.IndexWorkRootAsync(
                    wr,
                    handler,
                    cancellationToken);

                indexCount += count;
            }

            await hubContext.Clients.All.SendAsync("consoleData",
                                                   new ShellMessage(session.Next(), "end", $"Scan completed: {indexCount}")
            {
                Tags = new string[] { "success" }
            });

            return(indexCount);
        }
Exemplo n.º 3
0
 public IndexRepositoriesCommand(
     ILocalRepositoryIndexer localRepositoryIndexer)
 {
     _localRepositoryIndexer = localRepositoryIndexer;
 }