Exemplo n.º 1
0
        public FileBridgeModels.Result CopyFile(FileBridgeModels.SourceAndDestinationArgs args) => Execute(() =>
        {
            var sourceFilePath      = Environment.ExpandEnvironmentVariables(args.SourceFilePath);
            var destinationFilePath = Environment.ExpandEnvironmentVariables(args.DestinationFilePath);

            if (Directory.Exists(destinationFilePath))
            {
                var fileName        = Path.GetFileName(sourceFilePath);
                destinationFilePath = Path.Combine(destinationFilePath, fileName);
            }

            File.Copy(sourceFilePath, destinationFilePath);
        });
Exemplo n.º 2
0
        public static void Run(string[] args)
        {
            Debug.Assert(args.Length >= 2, "Only intended for bridge calls");

            string type     = args[0];
            string method   = args[1];
            string filePath = args.Length > 2 ? args[2] : null;

            switch (type)
            {
            case "Process":
            {
                switch (method)
                {
                case "OpenExternalLink":
                {
                    string input = JsonConvert.DeserializeObject <string>(System.IO.File.ReadAllText(filePath));
                    Process.OpenExternalLink(input);
                    break;
                }

                default:
                {
                    throw ExceptionUtilities.UnexpectedValue(method);
                }
                }

                break;
            }

            case "File":
            {
                switch (method)
                {
                case "AppendContents":
                {
                    FileBridgeModels.PathAndContentsArgs input = JsonConvert.DeserializeObject <FileBridgeModels.PathAndContentsArgs>(System.IO.File.ReadAllText(filePath));
                    FileBridgeModels.Result output             = File.AppendContents(input);
                    System.IO.File.WriteAllText(filePath, JsonConvert.SerializeObject(output));
                    break;
                }

                case "CopyFile":
                {
                    FileBridgeModels.SourceAndDestinationArgs input = JsonConvert.DeserializeObject <FileBridgeModels.SourceAndDestinationArgs>(System.IO.File.ReadAllText(filePath));
                    FileBridgeModels.Result output = File.CopyFile(input);
                    System.IO.File.WriteAllText(filePath, JsonConvert.SerializeObject(output));
                    break;
                }

                case "CreateDirectory":
                {
                    string input = JsonConvert.DeserializeObject <string>(System.IO.File.ReadAllText(filePath));
                    FileBridgeModels.Result output = File.CreateDirectory(input);
                    System.IO.File.WriteAllText(filePath, JsonConvert.SerializeObject(output));
                    break;
                }

                case "DeleteDirectory":
                {
                    string input = JsonConvert.DeserializeObject <string>(System.IO.File.ReadAllText(filePath));
                    FileBridgeModels.Result output = File.DeleteDirectory(input);
                    System.IO.File.WriteAllText(filePath, JsonConvert.SerializeObject(output));
                    break;
                }

                case "DeleteFile":
                {
                    string input = JsonConvert.DeserializeObject <string>(System.IO.File.ReadAllText(filePath));
                    FileBridgeModels.Result output = File.DeleteFile(input);
                    System.IO.File.WriteAllText(filePath, JsonConvert.SerializeObject(output));
                    break;
                }

                case "GetDirectories":
                {
                    string input = JsonConvert.DeserializeObject <string>(System.IO.File.ReadAllText(filePath));
                    FileBridgeModels.Result <string[]> output = File.GetDirectories(input);
                    System.IO.File.WriteAllText(filePath, JsonConvert.SerializeObject(output));
                    break;
                }

                case "GetFiles":
                {
                    string input = JsonConvert.DeserializeObject <string>(System.IO.File.ReadAllText(filePath));
                    FileBridgeModels.Result <string[]> output = File.GetFiles(input);
                    System.IO.File.WriteAllText(filePath, JsonConvert.SerializeObject(output));
                    break;
                }

                case "GetTemporaryFilePath":
                {
                    FileBridgeModels.Result <string> output = File.GetTemporaryFilePath();
                    System.IO.File.WriteAllText(filePath, JsonConvert.SerializeObject(output));
                    break;
                }

                case "InsertLine":
                {
                    FileBridgeModels.PathAndLineAndContentsArgs input = JsonConvert.DeserializeObject <FileBridgeModels.PathAndLineAndContentsArgs>(System.IO.File.ReadAllText(filePath));
                    FileBridgeModels.Result output = File.InsertLine(input);
                    System.IO.File.WriteAllText(filePath, JsonConvert.SerializeObject(output));
                    break;
                }

                case "ReadContents":
                {
                    string input = JsonConvert.DeserializeObject <string>(System.IO.File.ReadAllText(filePath));
                    FileBridgeModels.Result <string> output = File.ReadContents(input);
                    System.IO.File.WriteAllText(filePath, JsonConvert.SerializeObject(output));
                    break;
                }

                case "ReadLine":
                {
                    FileBridgeModels.PathAndLineArgs input  = JsonConvert.DeserializeObject <FileBridgeModels.PathAndLineArgs>(System.IO.File.ReadAllText(filePath));
                    FileBridgeModels.Result <string> output = File.ReadLine(input);
                    System.IO.File.WriteAllText(filePath, JsonConvert.SerializeObject(output));
                    break;
                }

                case "WriteContents":
                {
                    FileBridgeModels.PathAndContentsArgs input = JsonConvert.DeserializeObject <FileBridgeModels.PathAndContentsArgs>(System.IO.File.ReadAllText(filePath));
                    FileBridgeModels.Result output             = File.WriteContents(input);
                    System.IO.File.WriteAllText(filePath, JsonConvert.SerializeObject(output));
                    break;
                }

                case "WriteLine":
                {
                    FileBridgeModels.PathAndLineAndContentsArgs input = JsonConvert.DeserializeObject <FileBridgeModels.PathAndLineAndContentsArgs>(System.IO.File.ReadAllText(filePath));
                    FileBridgeModels.Result output = File.WriteLine(input);
                    System.IO.File.WriteAllText(filePath, JsonConvert.SerializeObject(output));
                    break;
                }

                default:
                {
                    throw ExceptionUtilities.UnexpectedValue(method);
                }
                }

                break;
            }

            case "Network":
            {
                switch (method)
                {
                case "LoadImage":
                {
                    string input = JsonConvert.DeserializeObject <string>(System.IO.File.ReadAllText(filePath));
                    ImageListBridgeModels.ImageData output = Network.LoadImage(input);
                    System.IO.File.WriteAllText(filePath, JsonConvert.SerializeObject(output));
                    break;
                }

                case "DownloadFile":
                {
                    string input  = JsonConvert.DeserializeObject <string>(System.IO.File.ReadAllText(filePath));
                    string output = Network.DownloadFile(input);
                    System.IO.File.WriteAllText(filePath, JsonConvert.SerializeObject(output));
                    break;
                }

                case "GetWebPageContents":
                {
                    string input  = JsonConvert.DeserializeObject <string>(System.IO.File.ReadAllText(filePath));
                    string output = Network.GetWebPageContents(input);
                    System.IO.File.WriteAllText(filePath, JsonConvert.SerializeObject(output));
                    break;
                }

                default:
                {
                    throw ExceptionUtilities.UnexpectedValue(method);
                }
                }

                break;
            }

            default:
            {
                throw ExceptionUtilities.UnexpectedValue(type);
            }
            }
        }
 public static Task <FileBridgeModels.Result> CopyFile(FileBridgeModels.SourceAndDestinationArgs args)
 {
     return(JSRuntime.Current.InvokeAsync <FileBridgeModels.Result>("Bridge.File.CopyFile", args));
 }