public string ExecuteCommand(IRemoteClient remoteClient, IEnumerable<string> parameters)
 {
     var request = new ExploreDirectoryRequest
     {
         DirectoryPath = parameters.First(),
         GetDirectories = true,
         GetFiles = true
     };
     var response = remoteClient.Send<ExploreDirectoryRequest, ExploreDirectoryResponse>(request);
     return string.Join(Environment.NewLine, response.Files.Select(x => x.Name));
 }
 public ExploreDirectoryResponse Execute(ExploreDirectoryRequest request)
 {
     var response = new ExploreDirectoryResponse();
     if (request.GetDirectories) {
         response.Directories = Directory.GetDirectories(request.DirectoryPath).Select(x => new ElementResponse {Name = x});
     }
     if (request.GetFiles) {
         response.Files = Directory.GetFiles(request.DirectoryPath).Select(x => new ElementResponse {Name = x});
     }
     return response;
 }
예제 #3
0
        protected override void HandleInternal(CommandLine commandLine, IRemoteClient remoteClient)
        {
            var directoryPath = commandLine.Arguments.FirstOrDefault(x => x.Name == "unknown");
            if (directoryPath == null) {
                WriteWarning("You should define the directory path.");
                return;
            }

            var request = new ExploreDirectoryRequest
            {
                DirectoryPath = directoryPath.Value,
                GetDirectories = true,
                GetFiles = true
            };
            var response = remoteClient.Send<ExploreDirectoryRequest, ExploreDirectoryResponse>(request);
            WriteInfo(string.Join(Environment.NewLine, response.Files.Select(x => x.Name)));
        }
        public ExploreDirectoryResponse Execute(ExploreDirectoryRequest request)
        {
            var response = new ExploreDirectoryResponse();

            if (request.GetDirectories)
            {
                response.Directories = Directory.GetDirectories(request.DirectoryPath).Select(x => new ElementResponse {
                    Name = x
                });
            }
            if (request.GetFiles)
            {
                response.Files = Directory.GetFiles(request.DirectoryPath).Select(x => new ElementResponse {
                    Name = x
                });
            }
            return(response);
        }