public void Fichero_FicheroChanged(object sender, FicheroChangedEventArgs e) { if (Fichero != null) { Fichero.SetFicheroRecibido(e); } }
internal void SetFicheroRecibido(FicheroChangedEventArgs e) { if (TextBoxInfoEstadoFichero.CheckAccess()) { if (FicheroRecibido != null) { FicheroRecibido(this, e); } else { Stream stream = null; try { System.Windows.Forms.DialogResult dr = System.Windows.Forms.MessageBox.Show(e.Packet.nombreNodoEmisor + " le envía el archivo '" + e.Packet.nombreArchivo + "'. ¿Desea Aceptarlo?", "Envío de archivo.", System.Windows.Forms.MessageBoxButtons.OKCancel); if (dr == System.Windows.Forms.DialogResult.OK) { Microsoft.Win32.SaveFileDialog sfd; sfd = new Microsoft.Win32.SaveFileDialog(); sfd.FileName = e.Packet.nombreArchivo; sfd.Filter = "All Files (*.*)|*.*"; sfd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); sfd.RestoreDirectory = true; sfd.Title = "Ha recibido un archivo de " + e.Packet.nombreNodoEmisor + ". Por favor, seleccione el directorio donde desea guardarlo."; bool ok = (bool)sfd.ShowDialog(); if (ok) { stream = new FileStream(sfd.FileName, FileMode.Create, FileAccess.Write); AyudanteStream.CopiarStream(e.Packet.stream, stream); } if (ok) { ActualizarTextboxInfoEnvio(String.Format("Archivo recibido con éxito: {0}\n", (String)e.Packet.nombreArchivo)); } } else { ActualizarTextboxInfoEnvio(String.Format(" Archivo rechazado: {0}\n", (String)e.Packet.nombreArchivo)); } } catch (Exception) { //Excepcion transparente al usuario. Salta cuando se sobreescribe el archivo (si el archivo ya existe) } finally { if (stream != null) { stream.Close(); } } } } else { TextBoxInfoEstadoFichero.Dispatcher.Invoke(DispatcherPriority.Normal, new _FicheroRecibidoHandler(SetFicheroRecibido), e); } }
private void Fichero_EnviarFichero(object sender, FicheroChangedEventArgs e) { if (null != mContratoDeServicio) { e.Packet.nombreNodoEmisor = Utilidades.GetTextoTextbox(TextBoxNombreUsuario); mContratoDeServicio.AyudanteFichero.EnviarFichero(e.Packet); } }