private void dgvInventory_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            //Identificamos el producto seleccionado en el dgvInventory para su registro en la orden
            selected = new orders_product();
            isModify = false;
            try
            {
                product productSelected = inventory.ElementAt <product>(e.RowIndex);
                //Añadimos el valor del id del producto seleccionado
                selected.id_product = productSelected.id;

                //Seteamos el detalle del producto en los controles del formulario
                txtName.Text  = productSelected.name;
                txtStock.Text = productSelected.stock.ToString();

                nudPrice.Value      = (decimal)productSelected.price;
                nudQuantity.Maximum = (decimal)productSelected.stock;
                nudQuantity.Value   = 1;
                btnToOrder.Enabled  = true;
            }
            catch
            {
                MessageBox.Show("Debe seleccionar el registro de un producto de la tabla.", "¡ERROR!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                restartControls();
            }
        }
 private void restartControls()
 {
     selected           = new orders_product();
     txtName.Text       = "";
     txtStock.Text      = "";
     nudPrice.Value     = 0;
     nudQuantity.Value  = 1;
     cmbDiscount.Text   = "";
     isModify           = false;
     btnToOrder.Enabled = false;
     btnModify.Enabled  = false;
     btnDelete.Enabled  = false;
 }
        private void dgvOrder_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                selected = order.ElementAt <orders_product>(e.RowIndex);

                btnModify.Enabled = true;
                btnDelete.Enabled = true;
            }
            catch
            {
                MessageBox.Show("Debe seleccionar el registro de un producto de la tabla.", "¡ERROR!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                restartControls();
            }
        }
        private void restartControls()
        {
            selected                   = new orders_product();
            txtnompro.Text             = "";
            txtexistencia.Text         = "";
            numprecuni.Value           = 0;
            numcant.Value              = 1;
            cmbdescuento.Text          = "";
            isModify                   = false;
            btn_Ordenar_Compra.Enabled = false;
            btnModificar.Enabled       = false;
            btnEliminar.Enabled        = false;

            //------aqui modifique--------------------------------------------------------------------------------------------------------------------------------------------------
        }
        private void refreshDGV()
        //Establece los valores de los dgv segun las listas inventory, order y tax
        {
            dgvTax.DataSource = null;
            dgvTax.DataSource = taxesSelected;

            //Limpiamos los datos de las tablas
            dgvOrder.Rows.Clear();
            dgvInventory.DataSource = null;
            dgvInventory.Rows.Clear();

            List <product> productList;

            using (metaGamesInventoryAlterEntities DB = new metaGamesInventoryAlterEntities())
            {
                productList = DB.product.ToList <product>();
            }

            inventory = productList;
            dgvInventory.DataSource = inventory;

            if (orderToModify != null)
            {
                dgvOrder.ColumnCount = 5;
            }
            foreach (var o in order)
            {
                string name = productList.Where(d => d.id == o.id_product).First().name;
                dgvOrder.Rows.Add(name, o.unit_price.ToString(), o.quantity.ToString(), o.amount_discount.ToString(), o.subtotal.ToString());
                inventory.Remove(inventory.Where(d => d.id == o.id_product).First());
            }

            dgvInventory.DataSource = inventory;
            selected = new orders_product();
            formatDGV();
        }