private IObservable <Tuple <string, string> > OpenFiles(string[] fileNames)
        {
            return(ObservableEx.Create <Tuple <string, string> >(async(observer, ct) =>
            {
                try
                {
                    IsProcessing = true;
                    foreach (var name in fileNames)
                    {
                        if (ct.IsCancellationRequested)
                        {
                            return;
                        }

                        using (var stream = new System.IO.FileStream(name, System.IO.FileMode.Open, System.IO.FileAccess.Read))
                        {
                            var bytes = await stream.ReadBytesAsync().ConfigureAwait(false);
                            var text = bytes.GetCode().GetString(bytes);
                            observer.OnNext(Tuple.Create(System.IO.Path.GetFileName(name), text));
                        }
                    }
                    observer.OnCompleted();
                }
                catch (Exception e)
                {
                    observer.OnError(e);
                }
                finally
                { IsProcessing = false; }
            }));
        }
        private async void FileOpened(string[] fileNames)
        {
            if (fileNames.Length > 1)
            {
                _selectedFiles = fileNames;

                var names = fileNames.Select(s => "\"" + System.IO.Path.GetFileName(s) + "\"");
                UploadFileName = names.Aggregate((a, b) => a + " " + b);

                Text = "*** Selected Files ***" + Environment.NewLine
                       + names.Aggregate((a, b) => a + Environment.NewLine + b) + Environment.NewLine;
                UploadFileDescription = "gist description...";
                return;
            }

            _selectedFiles = null;
            var filename = fileNames.FirstOrDefault();

            if (string.IsNullOrEmpty(filename))
            {
                return;
            }

            UploadFileName = System.IO.Path.GetFileName(filename);
            using (var stream = new System.IO.FileStream(filename, System.IO.FileMode.Open, System.IO.FileAccess.Read))
            {
                var bytes = await stream.ReadBytesAsync().ConfigureAwait(false);

                Text = bytes.GetCode().GetString(bytes);
            }
        }
示例#3
0
        private IObservable<Tuple<string, string>> OpenFiles(string[] fileNames)
        {
            return ObservableEx.Create<Tuple<string, string>>(async (observer, ct) =>
            {
                try
                {
                    IsProcessing = true;
                    foreach (var name in fileNames)
                    {
                        if (ct.IsCancellationRequested)
                        { return; }

                        using (var stream = new System.IO.FileStream(name, System.IO.FileMode.Open, System.IO.FileAccess.Read))
                        {
                            var bytes = await stream.ReadBytesAsync().ConfigureAwait(false);
                            var text = bytes.GetCode().GetString(bytes);
                            observer.OnNext(Tuple.Create(System.IO.Path.GetFileName(name), text));
                        }

                    }
                    observer.OnCompleted();
                }
                catch (Exception e)
                {
                    observer.OnError(e);
                }
                finally
                { IsProcessing = false; }

            });
        }
示例#4
0
        private async void FileOpened(string[] fileNames)
        {
            if (fileNames.Length > 1)
            {
                _selectedFiles = fileNames;

                var names = fileNames.Select(s => "\"" + System.IO.Path.GetFileName(s) + "\"");
                UploadFileName = names.Aggregate((a, b) => a + " " + b);

                Text = "*** Selected Files ***" + Environment.NewLine
                  + names.Aggregate((a, b) => a + Environment.NewLine + b) + Environment.NewLine;
                UploadFileDescription = "gist description...";
                return;
            }

            _selectedFiles = null;
            var filename = fileNames.FirstOrDefault();
            if (string.IsNullOrEmpty(filename))
            { return; }

            UploadFileName = System.IO.Path.GetFileName(filename);
            using (var stream = new System.IO.FileStream(filename, System.IO.FileMode.Open, System.IO.FileAccess.Read))
            {
                var bytes = await stream.ReadBytesAsync().ConfigureAwait(false);
                Text = bytes.GetCode().GetString(bytes);
            }
        }