Ejemplo n.º 1
0
        private void button1_Click(object sender, EventArgs e)
        {
            using (TransferClient transfer = new TransferClient("BasicHttpBinding_ITransfer")) {
                using (FileStream stream = File.OpenRead("Commanigy.Transmit.Client.pdb")) {
                    schemas.commanigy.com.UploadMeta md = new schemas.commanigy.com.UploadMeta();
                    md.Code = Guid.NewGuid().ToString("N");
                    transfer.Upload(md, stream);
                    stream.Close();
                }

                transfer.Close();
            }
        }
Ejemplo n.º 2
0
 private void btnConnect_Click(object sender, EventArgs e)
 {
     if (transferClient == null)
     {
         //Create our new transfer client.
         //And attempt to connect
         transferClient = new TransferClient();
         transferClient.Connect(txtCntHost.Text.Trim(), int.Parse(txtCntPort.Text.Trim()), connectCallback);
         Enabled = false;
     }
     else
     {
         //This means we're trying to disconnect.
         transferClient.Close();
         transferClient = null;
     }
 }
Ejemplo n.º 3
0
 public void connectCallBack(object sender, string error)
 {
     Enbled = true;
     if (error != null)
     {
         transferClient.Close();
         transferClient = null;
         return;
     }
     RegisterEvents();
     transferClient.OutputFolder = outputfolder;
     transferClient.Run();
     setConnetionStaus(transferClient.EndPoint.Address.ToString());
     tmrOverallprog.Start();
     setConnetionStaus("Connecting...");
     //TODO:Refresh UI
 }
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            this.dgList.ItemsSource   = this.transfers;
            this.overallProgressTimer = new System.Windows.Forms.Timer()
            {
                Interval = 100
            };
            this.overallProgressTimer.Tick += this.OverallProgressTimer_Tick;
            this.selectedComputer           = this.Tag as Computer;
            this.txtCurrentComputerIP.Text  = this.selectedComputer.IPAddress;

            if (this.fileTransferClient == null)
            {
                this.fileTransferClient = new TransferClient();
                this.fileTransferClient.Connect(this.selectedComputer.IPAddress, 1818, this.ConnectCallback);
                this.IsEnabled = false;
            }
        }
Ejemplo n.º 5
0
    void transferClient_Disconnected(object sender, EventArgs e)
    {
        if (InvokeRequired)
        {
            Invoke(new EventHandler(transferClient_Disconnected), sender, e);
            return;
        }


        deregisterEvents();

        //Close every transfer
        foreach (ListViewItem item in lstTransfers.Items)
        {
            TransferQueue queue = (TransferQueue)item.Tag;
            queue.Close();
        }

        //To clear list view
        lstTransfers.Items.Clear();
        progressOverall.Value = 0;

        //Set the client to null
        transferClient = null;

        //Set the connection status to nothing
        setConnectionStatus("-");

        //If the server is still running, wait for another connection
        if (serverRunning)
        {
            listener.Start(int.Parse(txtServerPort.Text.Trim()));
            //listener1.Start(int.Parse(txtServerPort.Text.Trim()));
            setConnectionStatus("Waiting...");

            //listener1.Start(int.Parse(txtServerPort.Text.Trim()));
        }
        else //If we connected then disconnected, set the text back to connect.
        {
            btnConnect.Text = "Connect";
        }
    }
Ejemplo n.º 6
0
 public void infoConexao(bool conectado, string mensagem, TransferClient transferClient)
 {
     if (InvokeRequired)
     {
         Invoke(new InfoConexaoHandler(infoConexao), conectado, mensagem, transferClient);
         return;
     }
     if (!conectado)
     {
         if (cliente != null)
         {
             desregistrarEvento(cliente);
             cliente = null;
             iniciarCliente();
         }
         //if (servidor != null)
         //    desregistrarEvento(servidor);
         //Close every transfer
         foreach (ListViewItem item in lstTransfers.Items)
         {
             TransferQueue queue = (TransferQueue)item.Tag;
             queue.Close();
         }
         //Clear the listview
         lstTransfers.Items.Clear();
         progressOverall.Value = 0;
         if (transferClient != null)
         {
             listBox1.Items.Remove(transferClient);
         }
     }
     else
     {
         if (transferClient != null)
         {
             listBox1.Items.Add(transferClient);
         }
     }
     lbInfoConexao.Text = mensagem;
 }
Ejemplo n.º 7
0
 private void connectCallBack(Object sender, string error)
 {
     if (InvokeRequired)
     {
         Invoke(new ConnectCallBack(connectCallBack), sender, error);
         return;
     }
     Enabled = true;
     if (error != null)
     {
         transferClient.Close();
         transferClient = null;
         MessageBox.Show(error, "Connection Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
         return;
     }
     registerEvents();
     transferClient.OutPutFolder = outputFolder;
     transferClient.Run();
     setConnectionStatus(transferClient.EndPoint.Address.ToString());
     tmrOverallProg.Start();
     btnConnect.Text = "Disconnect";
 }
        private void btnConnect_Click(object sender, EventArgs e)
        {
            if (transferClient == null)
            {
                //Create our new transfer client.
                //And attempt to connect
                transferClient = new TransferClient();

                string serverIpv6Add = ConfigurationManager.AppSettings["IPV6Address"];
                string serverPortStr = ConfigurationManager.AppSettings["Port"];
                int    serverPort    = int.Parse(serverPortStr);
                //transferClient.Connect("2001:250:4800:ef:a4fe:bc62:9bc2:8f6b", 3003, connectCallback);
                transferClient.Connect(serverIpv6Add, serverPort, connectCallback);
                Enabled = false;
            }
            else
            {
                //This means we're trying to disconnect.
                transferClient.Close();
                transferClient = null;
            }
        }
        private void TransferClient_Disconnected(object sender, EventArgs e)
        {
            DeregisterEvents();
            try
            {
                foreach (TransferQueue aqueue in QueueList)
                {
                    aqueue.Close();
                    QueueList.Remove(aqueue);
                }
            }
            catch { }
            QueueList = new List <TransferQueue>();

            transferClient = null;
            setConnetionStaus("null");
            if (isServerRunning)
            {
                listeners.Start(Port);
                setConnetionStaus("await");
            }
        }
Ejemplo n.º 10
0
        /// <summary>
        /// 1- Matches id to the ID property of a specific transfer, then verifies if the current user has enough money to fulfill a specific transfer.
        /// 2- Changes the status code of the specifice transfer to represent the decision (Approve or Deny) that the user gave.
        /// 3- Queries the Database to transfer the money and update the transfer with the new status code.
        /// </summary>
        /// <param name="id"></param>
        /// <param name="transfers"></param>
        /// <param name="newStatusCode"></param>
        /// <param name="currentBalance"></param>
        /// <returns>Returns the server data as a Transfer object with all properties complete.</returns>
        public TransferClient UpdateTransfer(int id, List <TransferClient> transfers, int newStatusCode, double currentBalance)
        {
            TransferClient pendingTransfer = new TransferClient();

            foreach (TransferClient t in transfers)
            {
                if (id == t.ID)
                {
                    if (t.Amount > currentBalance)
                    {
                        Console.WriteLine("\nYou don't have enough money to fulfill this request.");
                        return(null);
                    }
                    pendingTransfer        = t;
                    pendingTransfer.Status = newStatusCode;
                    break;
                }
            }
            client.Authenticator = new JwtAuthenticator(UserService.GetToken());
            RestRequest request = new RestRequest(API_BASE_URL + "transfers/approve_deny");

            request.AddJsonBody(pendingTransfer);
            IRestResponse <TransferClient> response = client.Put <TransferClient>(request);

            if (response.ResponseStatus != ResponseStatus.Completed)
            {
                Console.WriteLine("An error occurred communicating with the server.");
                Console.WriteLine(response.StatusCode + response.ErrorMessage);
                return(null);
            }
            else if (!response.IsSuccessful)
            {
                Console.WriteLine(response.StatusCode + response.ErrorMessage);
                return(null);
            }

            return(response.Data);
        }
        /// <summary>
        /// Gets triggered when connection gets lost.
        /// </summary>
        private void TransferClient_Disconnected(object sender, EventArgs e)
        {
            if (!this.Dispatcher.CheckAccess())
            {
                this.Dispatcher.Invoke(new EventHandler(this.TransferClient_Disconnected), sender, e);
                return;
            }

            this.DeregisterEvents();

            foreach (TransferQueue transferQueue in this.transfers)
            {
                if (transferQueue != null)
                {
                    transferQueue.Close();
                }
            }

            this.transfers.Clear();

            this.progressBarOverall.Value = 0;

            this.fileTransferClient = null;
        }
Ejemplo n.º 12
0
    void listener_Accepted(object sender, SocketAcceptedEventArgs e)
    {
        if (InvokeRequired)
        {
            Invoke(new SocketAcceptedHandler(listener_Accepted), sender, e);
            return;
        }

        //Stop the listener
        listener.Stop();

        //Create the transfer client based on our newly connected socket.
        transferClient = new TransferClient(e.Accepted);
        //Set our output folder.
        transferClient.OutputFolder = outputFolder;
        //Register the events.
        registerEvents();
        //Run the client
        transferClient.Run();
        //Start the progress timer
        tmrOverallProg.Start();
        //And set the new connection state.
        setConnectionStatus(transferClient.EndPoint.Address.ToString());
    }
 private void btnConnect_Click(object sender, EventArgs e)
 {
     if (transferClient == null)
     {
         try
         {
             //Create our new transfer client.
             //And attempt to connect
             transferClient = new TransferClient();
             transferClient.Connect("2001:250:4800:fea:f9be:b1ab:4fd5:118e", 8000, connectCallback);
             Enabled = false;
         }
         catch (Exception e0)
         {
             MessageBox.Show("conn" + e0);
         }
     }
     else
     {
         //This means we're trying to disconnect.
         transferClient.Close();
         transferClient = null;
     }
 }
        //private void btnClearComplete_Click(object sender, EventArgs e)
        //{
        //    foreach (TransferQueue transferQueue in transfers)
        //        if (transferQueue.Progress == 100 || !transferQueue.Running)
        //            transfers.Remove(transferQueue);
        //}

        /// <summary>
        /// Gets triggered when connection returns a result.
        /// </summary>
        private void ConnectCallback(object sender, string error)
        {
            if (!this.Dispatcher.CheckAccess())
            {
                this.Dispatcher.Invoke(new ConnectCallback(this.ConnectCallback), sender, error);
                return;
            }

            this.IsEnabled = true;

            if (error != null)
            {
                this.fileTransferClient.Close();
                this.fileTransferClient = null;
                MessageBox.Show(error, "Connection Error");
                return;
            }

            this.RegisterEvents();

            this.fileTransferClient.Run();

            this.SendFile();
        }
 private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
 {
     this.fileTransferClient.Close();
     this.fileTransferClient = null;
     this.DeregisterEvents();
 }
Ejemplo n.º 16
0
 public ManagementClient(Uri endpointUri, IChannelFactory <IWSTransferContract> proxyFactory, MessageVersion version, IWSTransferFaultHandler faultHandler)
 {
     _transferClient = new TransferClient(endpointUri, proxyFactory, version, faultHandler);
 }
Ejemplo n.º 17
0
        static void Main(string[] args)
        {
            try
            {
                var config = new TransferClientConfiguration
                {
                    EnableSsl = true,
                    UseBinary = true,
                    UserName  = "******",
                    Password  = "******",
                };

                config.Link = "ftp://localhost/outgoing";

                var site1 = new TransferClient(config);

                config.Link = "ftp://localhost/incoming";

                var site2 = new TransferClient(config);

                var files = new FtpParseMSDosListStreams()
                            .Parse(site1.ListFiles())
                            .Take(4)
                            .ToList()
                ;
                var file1 = files[0];
                var file2 = files[1];
                var file3 = files[2];
                var file4 = files[3];

                // download to file from site1 to a local file and then upload it to site2
                using (var fileStream = new FileStream(file1.Name, FileMode.Create, FileAccess.Write, FileShare.None))
                    using (var outStream = site1.DownloadFile(file1.Name))
                        outStream.CopyTo(fileStream);

                using (var fileStream = new FileStream(file1.Name, FileMode.Open, FileAccess.Read, FileShare.None))
                    site2.UploadFile(fileStream, file1.Name);

                // ----------------------------------------------------------

                // download from site1 and then upload it to site2 w/o intermediate local file
                using (var outStream = site1.DownloadFile(file2.Name))
                    site2.UploadFile(outStream, file2.Name);

                // ----------------------------------------------------------

                // async download to file from site1 to a local file and then async upload it to site2
                using (var fileStream = new FileStream(file3.Name, FileMode.Create, FileAccess.Write, FileShare.None))
                    using (var outStream = site1.DownloadFileAsync(file3.Name).Result)
                        outStream.CopyTo(fileStream);

                using (var fileStream = new FileStream(file3.Name, FileMode.Open, FileAccess.Read, FileShare.None))
                    site2.UploadFileAsync(fileStream, file3.Name).GetAwaiter().GetResult();

                // ----------------------------------------------------------

                // download from site1 and then upload it to site2 w/o intermediate local file
                using (var outStream = site1.DownloadFileAsync(file4.Name).Result)
                    site2.UploadFileAsync(outStream, file4.Name).GetAwaiter().GetResult();
            }
            catch (Exception x)
            {
                var dump = x.DumpString();

                Console.WriteLine(dump);
                Debug.WriteLine(dump);
            }

            Console.WriteLine("Press any key to finish...");
            Console.ReadKey(true);
        }
Ejemplo n.º 18
0
 public TransferManager(TransferClient transferClient)
 {
     _transferClient = transferClient;
 }
Ejemplo n.º 19
0
        private static void MenuSelection()
        {
            int menuSelection = -1;

            while (menuSelection != 0)
            {
                Console.WriteLine("");
                Console.WriteLine("Welcome to TEnmo! Please make a selection: ");
                Console.WriteLine("1: View your current balance");
                Console.WriteLine("2: View your past transfers");
                Console.WriteLine("3: View your pending requests");
                Console.WriteLine("4: Send TE bucks");
                Console.WriteLine("5: Request TE bucks");
                Console.WriteLine("6: Log in as different user");
                Console.WriteLine("0: Exit");
                Console.WriteLine("---------");
                Console.Write("Please choose an option: ");

                if (!int.TryParse(Console.ReadLine(), out menuSelection))
                {
                    Console.WriteLine("Invalid input. Please enter only a number.");
                }
                else if (menuSelection == 1)
                {
                    double balance = accountService.GetBalance();
                    consoleService.PrintBalance(balance);
                    MenuSelection();
                }
                else if (menuSelection == 2)
                {
                    List <TransferClient> transfers = transferService.GetTransfers();
                    consoleService.PrintTransfers(transfers);
                    int id = -1;
                    while (id == -1)
                    {
                        id = consoleService.PromptForTransferID("view");
                        if (id == 0)
                        {
                            MenuSelection();
                        }
                    }
                    consoleService.PrintTransferDetails(id, transfers);
                    MenuSelection();
                }
                else if (menuSelection == 3)
                {
                    List <TransferClient> transfers = transferService.GetPendingTransfers();
                    consoleService.PrintPendingTransfers(transfers);
                    if (transfers.Count != 0)
                    {
                        int id = -1;
                        while (id == -1)
                        {
                            id = consoleService.PromptForTransferID("approve or reject");
                            if (id == 0)
                            {
                                MenuSelection();
                            }
                        }
                        int newStatus = consoleService.PromptForApproval();
                        if (newStatus == 0)
                        {
                            MenuSelection();
                        }
                        double         currentBalance = accountService.GetBalance();
                        TransferClient returnTransfer = transferService.UpdateTransfer(id, transfers, newStatus, currentBalance);
                        if (returnTransfer != null)
                        {
                            consoleService.PrintResult(returnTransfer.Status);
                        }
                    }
                    MenuSelection();
                }
                else if (menuSelection == 4)
                {
                    List <UserDTO> list = accountService.GetUsers();
                    consoleService.PrintUsers(list);
                    int id = -1;
                    while (id == -1)
                    {
                        id = consoleService.PromptForUserId(list, "send to");
                        if (id == 0)
                        {
                            MenuSelection();
                        }
                    }
                    double amount = -1;
                    while (amount == -1)
                    {
                        amount = consoleService.PromptForAmount("send");
                        if (amount == 0)
                        {
                            MenuSelection();
                        }
                    }
                    if (amount > accountService.GetBalance())
                    {
                        Console.WriteLine("\nYou don't have enough money to transfer.");
                        MenuSelection();
                    }
                    TransferClient returnTransfer = transferService.SendTransfer(id, amount);
                    if (returnTransfer != null)
                    {
                        consoleService.PrintResult(returnTransfer.Status);
                    }
                    MenuSelection();
                }
                else if (menuSelection == 5)
                {
                    List <UserDTO> list = accountService.GetUsers();
                    consoleService.PrintUsers(list);
                    int id = -1;
                    while (id == -1)
                    {
                        id = consoleService.PromptForUserId(list, "request from");
                        if (id == 0)
                        {
                            MenuSelection();
                        }
                    }
                    double amount = -1;
                    while (amount == -1)
                    {
                        amount = consoleService.PromptForAmount("request");
                        if (amount == 0)
                        {
                            MenuSelection();
                        }
                    }
                    TransferClient pendingTransfer = transferService.RequestTransfer(id, amount);
                    if (pendingTransfer != null)
                    {
                        consoleService.PrintResult(pendingTransfer.Status);
                    }
                    MenuSelection();
                }
                else if (menuSelection == 6)
                {
                    Console.WriteLine("");
                    UserService.SetLogin(new API_User()); //wipe out previous login info
                    Run();                                //return to entry point
                }
                else
                {
                    Console.WriteLine("Goodbye!");
                    Environment.Exit(0);
                }
            }
        }
Ejemplo n.º 20
0
        /// <summary>
        /// Performs actual upload by streaming entire (zipped) file.
        /// </summary>
        /// <param name="token"></param>
        /// <param name="transferFileName"></param>
        /// <returns></returns>
        private string Upload(string token, string transferFileName)
        {
            using (TransferClient transfer = new TransferClient("BasicHttpBinding_ITransfer")) {
                using (FileStream stream = File.OpenRead(transferFileName)) {
                    schemas.commanigy.com.UploadMeta meta = new schemas.commanigy.com.UploadMeta();
                    meta.Code = token;
                    transfer.Upload(meta, stream);
                    stream.Close();
                }

                transfer.Close();
            }

            return token;
        }
Ejemplo n.º 21
0
        private string SharePackage(string token)
        {
            string[] fileTokens = files.ToArray();
            for (int i = 0; i < fileTokens.Length; i++) {
                fileTokens[i] = Path.GetFileName(fileTokens[i]);
            }

            using (TransferClient transfer = new TransferClient("BasicHttpBinding_ITransfer")) {
                string result = transfer.SharePackage(options["SenderMail"], new string[0], token, fileTokens, options["Subject"], options["Body"]);
                transfer.Close();
                return result;
            }
        }