예제 #1
0
        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;
            }
        }
예제 #2
0
        private void bQuitarImagen_Click(object sender, EventArgs e)
        {
            if (Get_IdControl(true) == false) return;
            BL_Reg_Control oBL_Reg_Control = new BL_Reg_Control();
            try
            {
                if (oBL_Reg_Control.Get_Imagen(sIdControl) == "")
                {
                    MessageBox.Show("No se ha asignado la imagen al Control. Verificar", "Validación", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    dgControl.Focus(); return;
                }

                if (MessageBox.Show("¿Está seguro que desea de Quitar la Imagen al Control : " + sIdControl + " ?", "Advertencia", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.No) return;
                oBL_Reg_Control.Quitar_Archivo(sIdControl);
                Listar(Helper.eListar.Grilla);
                Helper.Buscar_Grilla(dgControl, sIdControl, 0);
                Listar_Detalle();

                MessageBox.Show("Se ha Quitado la Imagen en forma exitosa", "Mensaje al Usuario", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch
            {
                MessageBox.Show("Ocurrió un error al Quitar la imagen.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
            }
            finally
            {
                oBL_Reg_Control = null;
            }
        }