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(); } }
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; } }
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; } }
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"; } }
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; }
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"); } }
/// <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; }
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(); }
public ManagementClient(Uri endpointUri, IChannelFactory <IWSTransferContract> proxyFactory, MessageVersion version, IWSTransferFaultHandler faultHandler) { _transferClient = new TransferClient(endpointUri, proxyFactory, version, faultHandler); }
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); }
public TransferManager(TransferClient transferClient) { _transferClient = transferClient; }
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); } } }
/// <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; }
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; } }