Esempio n. 1
0
        private static void ApplyMessageFilters(RepositoryFilterOptions filter)
        {
            var historyRepository = new History.RegistryHistoryRepository();
            var filters           = new IMessageFilter[]
            {
                new IndexMessageFilter(historyRepository),
                new GoBackMessageFilter(historyRepository)
            };

            foreach (var messageFilter in filters)
            {
                messageFilter.Filter(filter);
            }
        }
Esempio n. 2
0
        private static IMessage GetMessage(RepositoryFilterOptions options)
        {
            // default should be listing all repositories
            IMessage message = new ListRepositoriesMessage();

            ApplyMessageFilters(options);

            if (options is ListOptions)
            {
                if (options.HasFileFilter)
                {
                    message = new ListRepositoryFilesMessage(options);
                }
                else
                {
                    message = new ListRepositoriesMessage(options);
                }
            }

            if (options is ChangeDirectoryOptions)
            {
                message = new ChangeToDirectoryMessage(options);
            }

            if (options is GetDirectoryOptions)
            {
                message = new GetDirectoryMessage(options);
            }

            if (options is OpenDirectoryOptions)
            {
                if (options.HasFileFilter)
                {
                    message = new OpenFileMessage(options);
                }
                else
                {
                    message = new OpenDirectoryMessage(options);
                }
            }

            return(message);
        }