private void btnImagen_Click(object sender, EventArgs e)
        {
            OpenFileDialog oDialog = new OpenFileDialog();

            try {
                oDialog.Filter = "Archivos jpg (*.jpg)|*.jpg";
                oDialog.Title  = "Imagen de Producto";

                if (oDialog.ShowDialog() == DialogResult.OK)
                {
                    System.IO.FileInfo oFile = new System.IO.FileInfo(oDialog.FileName);

                    if (oFile.Length > 200000)
                    {
                        RadMessageBox.Show("La imagen debe no debe ser mayor a 200Kb", this.Text, MessageBoxButtons.OK, RadMessageIcon.Info);
                    }
                    else
                    {
                        Imagen        = ConvertImage.FileToByteArray(oDialog.FileName);
                        picFoto.Image = ConvertImage.ByteToImage(Imagen);
                    }
                }
            } catch (Exception ex) {
                RadMessageBox.Show("Ocurrió un error al cargar la fotografía del expediente\n" + ex.Message, this.Text, MessageBoxButtons.OK, RadMessageIcon.Error);
            }
        }
        private void CargarFicha()
        {
            oEnsamble = new WCF_Ensamble.Hersan_EnsambleClient();
            try {
                ProductoEnsambleBE obj = new ProductoEnsambleBE();
                obj.Id          = int.Parse(txtId.Text);
                obj.Entidad.Id  = int.Parse(cboEntidad.SelectedValue.ToString());
                obj.Familia.Id  = int.Parse(cboFamilia.SelectedValue.ToString());
                obj.Producto.Id = int.Parse(cboTipo.SelectedValue.ToString());

                oProducto = oEnsamble.ENS_ProductosFicha_Obtener(obj);
                if (oProducto.Count > 0)
                {
                    /*SE LIMPIAN LOS ITEMS SELECCIONADOS */
                    lstCarcasa.CheckedItems.Clear();
                    lstAccesorios.CheckedItems.Clear();
                    lstReflejantes.CheckedItems.Clear();

                    txtId.Text         = oProducto[0].Id.ToString();
                    txtCantidad.Value  = oProducto[0].Reflejantes;
                    txtCantAcce.Value  = oProducto[0].CantAccesorios;
                    txtAlto.Text       = oProducto[0].Dimensiones.Alto.ToString();
                    txtAncho.Text      = oProducto[0].Dimensiones.Ancho.ToString();
                    txtCircun.Text     = oProducto[0].Dimensiones.Cirunferencia.ToString();
                    txtDiam.Text       = oProducto[0].Dimensiones.Diametro.ToString();
                    txtLargo.Text      = oProducto[0].Dimensiones.Largo.ToString();
                    txtPeso.Text       = oProducto[0].Dimensiones.Peso.ToString();
                    txtPiezas.Text     = oProducto[0].Dimensiones.Empaque.ToString();
                    txtRuta.Text       = oProducto[0].Dimensiones.RutaImagen;
                    chkEstatus.Checked = oProducto[0].DatosUsuario.Estatus;

                    oProducto[0].Detalle.ForEach(aux => {
                        if (aux.Tipo == "CARCASA")
                        {
                            foreach (var x in lstCarcasa.Items)
                            {
                                if (x.Value.ToString() == aux.Id.ToString())
                                {
                                    x.CheckState = Telerik.WinControls.Enumerations.ToggleState.On;
                                }
                            }
                        }
                        else
                        {
                            if (aux.Tipo == "REFLEJANTE")
                            {
                                foreach (var x in lstReflejantes.Items)
                                {
                                    if (x.Value.ToString() == aux.Id.ToString())
                                    {
                                        x.CheckState = Telerik.WinControls.Enumerations.ToggleState.On;
                                    }
                                }
                            }
                            else
                            {
                                foreach (var x in lstAccesorios.Items)
                                {
                                    if (x.Value.ToString() == aux.Id.ToString())
                                    {
                                        x.CheckState = Telerik.WinControls.Enumerations.ToggleState.On;
                                    }
                                }
                            }
                        }
                    });

                    if (oProducto[0].Foto != null)
                    {
                        Imagen        = oProducto[0].Foto;
                        picFoto.Image = ConvertImage.ByteToImage(Imagen);
                    }
                    else
                    {
                        picFoto.Image = null;
                    }
                }
                else
                {
                    oList.Clear();
                    txtId.Text = "0";

                    txtAlto.Text      = "0";
                    txtAncho.Text     = "0";
                    txtCantAcce.Value = 0;
                    txtCantidad.Value = 0;
                    txtCircun.Text    = "0";
                    txtDiam.Text      = "0";
                    txtLargo.Text     = "0";
                    txtPeso.Text      = "0";
                    txtPiezas.Text    = "0";
                    txtRuta.Text      = "";
                    lstAccesorios.CheckedItems.Clear();
                    lstCarcasa.CheckedItems.Clear();
                    lstReflejantes.CheckedItems.Clear();
                    gvResult.DataSource = null;
                    picFoto.Image       = null;
                }
            } catch (Exception ex) {
                throw ex;
            } finally {
                oEnsamble = null;
            }
        }