Exemplo n.º 1
0
        public async Task <string[]> ListFiles(string path)
        {
            ListFilesModel model = new ListFilesModel(path);

            byte[]         message  = GetMessage(model);
            string         jstring  = JsonConvert.SerializeObject(model);
            MethodRequest  request  = new MethodRequest("listFiles", Encoding.UTF8.GetBytes(jstring));
            MethodResponse response = await client.InvokeMethodAsync(deviceId, moduleId, request);

            if (response.Status != 200)
            {
                Console.WriteLine("DirectMethods Client listFiles failed");
                throw new Exception("DirectMethods client failed on listFiles");
            }
            else
            {
                string jsonResult = response.ResultAsJson;
                if (string.IsNullOrEmpty(jsonResult))
                {
                    return(null);
                }
                else
                {
                    return(JsonConvert.DeserializeObject <string[]>(jsonResult));
                }
            }
        }
Exemplo n.º 2
0
        private async Task <MethodResponse> ListFilesHandler(MethodRequest request, object context)
        {
            string         jsonString = request.DataAsJson;
            ListFilesModel model      = JsonConvert.DeserializeObject <ListFilesModel>(jsonString);

            if (Directory.Exists(model.Path))
            {
                DirectoryInfo info     = new DirectoryInfo(model.Path);
                FileInfo[]    files    = info.GetFiles();
                List <string> fileList = new List <string>();
                foreach (FileInfo file in files)
                {
                    fileList.Add(file.Name);
                }

                string jString = JsonConvert.SerializeObject(fileList.ToArray());
                return(new MethodResponse(Encoding.UTF8.GetBytes(jString), 200));
            }
            else
            {
                return(new MethodResponse(404));
            }
        }