private void aceptarButton_Click(object sender, EventArgs e)
        {
            try
            {
                if (this.ValidarDatos().Equals(""))
                {
                    if (!chboxAgregar.Checked)
                    {
                        //obtengo las dos ultimos cifras del anno
                        string aux1 = fecha_entrada.Value.Year.ToString();
                        aux1 = aux1[2].ToString() + aux1[3].ToString();
                        int aux_anno = int.Parse(aux1);

                        var aux = new productos
                        {
                            valor            = nValor.Value,
                            anno             = aux_anno,
                            fecha_entrada    = fecha_entrada.Value,
                            id_tipo_producto = _idTipoProductos[cbTipoProducto.SelectedIndex],
                            id_tejedora      = _idTejedora[cbTejedora.SelectedIndex],
                            descripcion      = tbDescripcion.Text,
                            numero_producto  = int.Parse(txIdentificador.Text)
                        };
                        aux.id = aux_anno.ToString() + "/" + aux.id_tejedora.ToString() + "/" +
                                 aux.id_tipo_producto.ToString() + "/" + aux.numero_producto.ToString();
                        _entities.AddToproductos(aux);
                        _entities.SaveChanges();
                        this.Reload();
                    }
                    else
                    {
                        //obtengo las dos ultimos cifras del anno
                        string aux1 = fecha_entrada.Value.Year.ToString();
                        aux1 = aux1[2].ToString() + aux1[3].ToString();
                        int aux_anno = int.Parse(aux1);

                        for (int i = 0; i < numero_repetir.Value; i++)
                        {
                            var aux = new productos
                            {
                                valor            = nValor.Value,
                                anno             = aux_anno,
                                fecha_entrada    = fecha_entrada.Value,
                                id_tipo_producto = _idTipoProductos[cbTipoProducto.SelectedIndex],
                                id_tejedora      = _idTejedora[cbTejedora.SelectedIndex],
                                descripcion      = tbDescripcion.Text,
                                numero_producto  = int.Parse(txIdentificador.Text) + i
                            };
                            aux.id = aux_anno.ToString() + "/" + aux.id_tejedora.ToString() + "/" +
                                     aux.id_tipo_producto.ToString() + "/" + aux.numero_producto.ToString();
                            _entities.AddToproductos(aux);
                            _entities.SaveChanges();
                        }
                        _entities.SaveChanges();
                        this.Reload();
                    }
                }
                else
                {
                    MessageBox.Show(ValidarDatos(), "Error en la entrada de datos", MessageBoxButtons.OK,
                                    MessageBoxIcon.Error);
                    return;
                }
            }
            catch (Exception error)
            {
                MessageBox.Show(error.Message);
                throw;
            }
        }
        private void eliminarButton_Click(object sender, EventArgs e)
        {
            try
            {
                if (MessageBox.Show("Está seguro que desea eliminar la tejedora seleccionada?", "Eliminar tejedora", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    tejedora aux =
                        (tejedora)
                        _entities.GetObjectByKey(new EntityKey("mayaEntities.tejedora", "id",
                                                               _idTejedora[_selectedIndex]));
                    if (_entities.productos.Any(p => p.tejedora.id == aux.id))
                    {
                        List <productos> lista_p        = _entities.productos.Where(p => p.id_tejedora == aux.id).ToList();
                        List <productos> lista_auxiliar = new List <productos>();
                        productos        prr            = new productos();

                        foreach (var elemento in lista_p)
                        {
                            prr = new productos();
                            _entities.AddTobitacora(new bitacora
                            {
                                id_usuario  = _user.id,
                                descripcion = "El usuario " + _user.nombre + "ha modificado la tejedora del producto " + elemento.id,
                                fecha       = DateTime.Now
                            });

                            prr.tejedora_anterior = elemento.id_tejedora + " -- " + elemento.tejedora.nombre + " " +
                                                    elemento.tejedora.apellidos;
                            prr.id_tejedora      = 9999;
                            prr.id_tipo_producto = elemento.id_tipo_producto;
                            prr.numero_producto  = elemento.numero_producto;
                            prr.anno             = elemento.anno;
                            prr.descripcion      = elemento.descripcion;
                            prr.valor            = elemento.valor;
                            prr.precio           = elemento.precio ?? null;
                            prr.fecha_entrada    = elemento.fecha_entrada;
                            prr.fecha_salida     = elemento.fecha_salida ?? null;
                            prr.fecha_venta      = elemento.fecha_venta ?? null;
                            prr.id_punto_venta   = elemento.id_punto_venta ?? null;
                            prr.vendido          = elemento.vendido ?? null;
                            prr.id = prr.anno.ToString() + "/" + prr.id_tejedora.ToString() + "/" +
                                     prr.id_tipo_producto.ToString() + "/" + prr.numero_producto.ToString();

                            _entities.DeleteObject(elemento);
                            lista_auxiliar.Add(prr);
                            _entities.SaveChanges();
                        }
                        foreach (var productose in lista_auxiliar)
                        {
                            _entities.AddToproductos(productose);
                            _entities.SaveChanges();
                        }
                        _entities.AddTobitacora(new bitacora
                        {
                            id_usuario  = _user.id,
                            descripcion = "El usuario " + _user.nombre + "ha eliminado la tejedora " + aux.id + " -- " + aux.nombre,
                            fecha       = DateTime.Now
                        });
                        _entities.SaveChanges();
                        _entities.DeleteObject(aux);
                        _entities.SaveChanges();
                        this.Reload();
                        return;
                    }

                    _entities.AddTobitacora(new bitacora
                    {
                        id_usuario  = this._user.id,
                        descripcion = "El usuario " + this._user.nombre + " ha eliminado la tejedora " + aux.nombre,
                        fecha       = DateTime.Now
                    });

                    _entities.DeleteObject(aux);
                    _entities.SaveChanges();
                    this.Reload();
                }
            }
            catch (Exception)
            {
                throw;
            }
        }