private void bVerImagen_Click(object sender, EventArgs e) { // Declaramos fs para tener crear un nuevo archivo temporal en la maquina cliente. // y memStream para almacenar en memoria la cadena recibida. BE_Reg_ControlImagenes oBE_Reg_ControlImagenes = new BE_Reg_ControlImagenes(); byte[] bytes; try { if (Get_IdImagen(true) == false) return; if (sIdImagen == "") { MessageBox.Show("No se ha asignado la imagen al Control. Verificar", "Validación", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); dgDetalle.Focus(); return; } oBE_Reg_ControlImagenes = oBL_Reg_Control.Get_Reg_ControlImagenes(BE_Helper.oBE_Sis_Cliente.IdCliente, sIdImagen); bytes = oBE_Reg_ControlImagenes.Archivo; string sNombre = oBE_Reg_ControlImagenes.Nombre + oBE_Reg_ControlImagenes.ExtensionImagen; //- ArchivoPDF toma el valor de la columna binaria File.WriteAllBytes(Application.StartupPath + @"\" + sNombre, bytes); Process.Start(Application.StartupPath + @"\" + sNombre); //return sImagenTemporal; } catch { MessageBox.Show("Ocurrió un error al leer la imagen.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1); } finally { oBE_Reg_ControlImagenes = null; bytes = null; } }
private void bAsignarImagen_Click(object sender, EventArgs e) { if (Get_IdControl(true) == false) return; BinaryReader br; BL_Reg_Control oBL_Reg_Control = new BL_Reg_Control(); BE_Reg_ControlImagenes oBE_Reg_ControlImagenes = new BE_Reg_ControlImagenes(); byte[] bytes; try { if (oBL_Reg_Control.Get_Imagen(sIdControl) != "") { MessageBox.Show("Ya se ha asignado la imagen al Control. Verificar", "Validación", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); dgControl.Focus(); return; } OpenFileDialog dlg = new OpenFileDialog(); dlg.Title = "Selecccionar Archivo"; dlg.Filter = "Archivo JPG,GIF;DOC,DOCX;PDF|*.jpg;*.gif;*.doc;*.docx;*.pdf"; DialogResult dlgRes = dlg.ShowDialog(); if (dlgRes != DialogResult.Cancel) { //Direccion del archivo FileInfo File = new System.IO.FileInfo(dlg.FileName); int nKb = Convert.ToInt32(File.Length / 1024); string sExtension = System.IO.Path.GetExtension(dlg.FileName); string sNombre = System.IO.Path.GetFileNameWithoutExtension(dlg.FileName); string sNombreRuta = dlg.FileName; // Declaramos fs para tener acceso al archivo residente en la maquina cliente. FileStream fs = new FileStream(sNombreRuta, FileMode.Open); // Declaramos un Leector Binario para accesar a los datos del archivo pasarlos a un arreglo de bytes br = new BinaryReader(fs); bytes = new byte[(int)fs.Length]; br.Read(bytes, 0, bytes.Length); // base64 es la cadena en donde se guarda el arreglo de bytes ya convertido oBE_Reg_ControlImagenes.Nombre = sNombre; oBE_Reg_ControlImagenes.Archivo = bytes; oBE_Reg_ControlImagenes.PesoArchivo = nKb; oBE_Reg_ControlImagenes.ExtensionImagen = sExtension; oBL_Reg_Control.Insertar_Archivo(oBE_Reg_ControlImagenes, sIdControl); fs.Close(); fs = null; Listar(Helper.eListar.Grilla); Helper.Buscar_Grilla(dgControl, sIdControl, 0); Listar_Detalle(); MessageBox.Show("Se ha Asignado la Imagen " + sNombre + " en forma exitosa", "Mensaje al Usuario", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { br = null; bytes = null; oBL_Reg_Control = null; oBE_Reg_ControlImagenes = null; } }
private void BtnGrabar_Click(object sender, EventArgs e) { try { if (lblDesTipoDocumento.Text == "") { MessageBox.Show("El registro de control no existe. Verificar", "Validación", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); txtIdControl.Focus(); return; } if (lblDesActividad.Text == "") { MessageBox.Show("El registro de control no tiene actividades pendientes de Envío. Verificar", "Validación", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); txtIdControl.Focus(); return; } if (lblDesOficinaDestinatario.Text == "") { MessageBox.Show("Ingrese una Oficina Correcta.", "Validación", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); txtIdOficinaDestinatario.Focus(); return; } if (lblDesArea.Text == "") { MessageBox.Show("Ingrese un Area Correcta.", "Validación", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); txtIdArea.Focus(); return; } if (lblDesEmpleado.Text == "") { MessageBox.Show("El Area ingresado no tiene un Empleado Responsable asignado. Verificar", "Validación", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); txtIdArea.Focus(); return; } //Archivos List<BE_Reg_ControlImagenes> ListaImagenes = new List<BE_Reg_ControlImagenes>(); BinaryReader br; byte[] bytes; foreach (DataGridViewRow Fila in dgDetalle.Rows) { string sNombreRuta = Fila.Cells["Archivo"].Value.ToString(); string sExtension = Fila.Cells["formato"].Value.ToString(); string sNombre = Fila.Cells["nombre"].Value.ToString(); FileInfo File = new System.IO.FileInfo(sNombreRuta); int nKb = Convert.ToInt32(File.Length / 1024); // Declaramos fs para tener acceso al archivo residente en la maquina cliente. FileStream fs = new FileStream(sNombreRuta, FileMode.Open); // Declaramos un Leector Binario para accesar a los datos del archivo pasarlos a un arreglo de bytes br = new BinaryReader(fs); bytes = new byte[(int)fs.Length]; br.Read(bytes, 0, bytes.Length); BE_Reg_ControlImagenes oBE_Reg_ControlImagenes = new BE_Reg_ControlImagenes(); oBE_Reg_ControlImagenes.Nombre = sNombre; oBE_Reg_ControlImagenes.Archivo = bytes; oBE_Reg_ControlImagenes.PesoArchivo = nKb; oBE_Reg_ControlImagenes.ExtensionImagen = sExtension; ListaImagenes.Add(oBE_Reg_ControlImagenes); fs.Close(); fs = null; } oBE_Reg_ControlDetalle.IdControl = txtIdControl.Text; oBE_Reg_ControlDetalle.IdOficinaDestinatario = txtIdOficinaDestinatario.Text; oBE_Reg_ControlDetalle.IdAreaDestinatario = txtIdArea.Text; oBE_Reg_ControlDetalle.IdEmpleadoDestinatario = lblIdEmpleado.Text; oBE_Reg_Control.FechaRecepcion = Convert.ToDateTime(lblFechaRecepcion.Text + " " + lblHoraRecepcion.Text); oBE_Reg_ControlDetalle.Observacion = txtObservacion.Text; oBL_Reg_Control.Enviar(oBE_Reg_ControlDetalle, ListaImagenes); MessageBox.Show("Se ha Enviado el Control " + txtIdControl.Text + " en la actividad " + lblDesActividad.Text + " en forma exitosa", "Mensaje al Usuario", MessageBoxButtons.OK, MessageBoxIcon.Information); txtIdControl.Text = ""; dgDetalle.Rows.Clear(); txtIdControl.Focus(); } catch (Exception Er) { MessageBox.Show(this, Er.Message, "Error : " + Er.Source.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public string Insertar_Archivo(BE_Reg_ControlImagenes oBE_Reg_ControlImagenes, string sIdControl) { return oDL_Reg_Control.Insertar_Archivo(oBE_Reg_ControlImagenes, sIdControl); }
public string Insertar_Archivo(BE_Reg_ControlImagenes oBE_Reg_ControlImagenes, string sIdControl) { using (SqlConnection sCn = new SqlConnection(ConexionDAO.sConexion)) { sCn.Open(); SqlTransaction sTrans = sCn.BeginTransaction(); try { string sIdImagen = Convert.ToString(SqlHelper.ExecuteScalar(sTrans,"Insert_Reg_ControlImagenes", BE_Helper.oBE_Sis_Cliente.IdCliente, oBE_Reg_ControlImagenes.Nombre, oBE_Reg_ControlImagenes.Archivo, oBE_Reg_ControlImagenes.PesoArchivo, oBE_Reg_ControlImagenes.ExtensionImagen, BE_Helper.oBE_Sis_Usuario.IdUsuario, sIdControl)); sSql = "update Reg_Control set IdImagen='" + sIdImagen + "' where IdCliente='" + BE_Helper.oBE_Sis_Cliente.IdCliente + "' and IdControl='" + sIdControl + "'"; SqlHelper.ExecuteNonQuery(sTrans, CommandType.Text, sSql); sTrans.Commit(); return sIdImagen; } catch (Exception ex) { sTrans.Rollback(); throw ex; } } }
public BE_Reg_ControlImagenes Get_Reg_ControlImagenes(string sIdCliente, string sIdImagen) { BE_Reg_ControlImagenes oBE_Reg_ControlImagenes = new BE_Reg_ControlImagenes(); sSql = "select * from Reg_ControlImagenes where IdCliente='" + sIdCliente + "' and IdImagen='" + sIdImagen + "' "; SqlDataReader reader = ConexionDAO.fSqlDataReader(sSql); if (reader.HasRows) { while (reader.Read()) { oBE_Reg_ControlImagenes.IdCliente = reader.GetString(reader.GetOrdinal("IdCliente")); oBE_Reg_ControlImagenes.Idimagen = reader.GetString(reader.GetOrdinal("Idimagen")); oBE_Reg_ControlImagenes.Nombre = reader.GetString(reader.GetOrdinal("Nombre")); oBE_Reg_ControlImagenes.Archivo = (byte[])reader["Archivo"]; oBE_Reg_ControlImagenes.PesoArchivo = reader.GetInt32(reader.GetOrdinal("PesoArchivo")); oBE_Reg_ControlImagenes.ExtensionImagen = reader.GetString(reader.GetOrdinal("ExtensionImagen")); oBE_Reg_ControlImagenes.Estado = reader.GetBoolean(reader.GetOrdinal("Estado")); } } reader.Dispose(); reader = null; return oBE_Reg_ControlImagenes; }