Beispiel #1
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);
        }
Beispiel #2
0
        private static void ParseCommandLineOptions(string verb, object options, out IMessage message)
        {
            // default should be listing all repositories
            message = new ListRepositoriesMessage();

            var filter = options as RepositoryFilterOptions;

            if (filter != null)
            {
                ApplyMessageFilters(filter);

                if (verb == CommandLineOptions.ListCommand)
                {
                    if (filter.HasFileFilter)
                    {
                        message = new ListRepositoryFilesMessage(filter);
                    }
                    else
                    {
                        message = new ListRepositoriesMessage(filter);
                    }
                }

                if (verb == CommandLineOptions.ChangeDirectoryCommand)
                {
                    message = new ChangeToDirectoryMessage(filter);
                }

                if (verb == CommandLineOptions.OpenDirectoryCommand)
                {
                    if (filter.HasFileFilter)
                    {
                        message = new OpenFileMessage(filter);
                    }
                    else
                    {
                        message = new OpenDirectoryMessage(filter);
                    }
                }
            }
        }