Esempio n. 1
0
        private void clbProductos_Click(object sender, EventArgs e)
        {
            Producto seleccionado = (Producto)clbProductos.SelectedItem;
            int      index        = clbProductos.SelectedIndex;

            //Van al reves ya que apenas hace click el check del item no cambia de estado.
            //clbProductos_ItemChek no me sirve en este caso ya que cuando se refresca la grilla
            //les hago check con una función y me activa ese método
            if (clbProductos.GetItemCheckState(index) == CheckState.Checked && seleccionados.Count >= 0)
            {
                foreach (var item in seleccionados)
                {
                    if (item.Producto.Nombre == seleccionado.Nombre)
                    {
                        seleccionados.RemoveAt(seleccionados.IndexOf(item));
                        calcularCosto();
                        return;
                    }
                }
            }
            else
            {
                DetalleCombo nuevo = new DetalleCombo();
                nuevo.Producto = seleccionado;
                nuevo.Unidades = 1;
                seleccionados.Add(nuevo);
                calcularCosto();
            }
        }
Esempio n. 2
0
        private bool llenarCombo()
        {
            try
            {
                if (seleccionados.Count < 1)
                {
                    MessageBox.Show("El combo que desea agregar no posee suficientes productos.", "Atención!", MessageBoxButtons.OK);
                    return(false);
                }
                if (txtRuta.Text != "")
                {
                    local.RutaImagen = txtRuta.Text;
                }
                if (txtNombre.Text != "")
                {
                    local.Nombre = txtNombre.Text;
                }
                else
                {
                    MessageBox.Show("El combo que desea agregar no posee nombre.", "Atención!", MessageBoxButtons.OK);
                    return(false);

                    ;
                }
                local.Descripcion = txtDescripcion.Text;
                if (txtDiasAnticipo.Text != "")
                {
                    local.DiasAnticipo = Convert.ToInt32(txtDiasAnticipo.Text);
                }
                else
                {
                    local.DiasAnticipo = 0;
                }
                if (nudPrecio.Value > 0)
                {
                    local.Precio = Decimal.Round(nudPrecio.Value, 2);
                }
                else
                {
                    MessageBox.Show("El combo que desea agregar no posee precio.\nCosto del combo: " + lblCosto.Text.Substring(lblCosto.Text.IndexOf("$")) + ".", "Atención!", MessageBoxButtons.OK);
                    return(false);
                }
                local.Productos.Clear();
                foreach (DetalleCombo item in seleccionados)
                {
                    DetalleCombo prod = new DetalleCombo();
                    prod.Producto = item.Producto;
                    prod.Unidades = item.Unidades;
                    prod.Kilos    = item.Kilos;
                    local.Productos.Add(prod);
                }
                return(true);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
                return(false);
            }
        }
Esempio n. 3
0
        public bool InsertarDetalleCombo(DetalleCombo detC, long idCombo, SqlTransaction tran)
        {
            var sql = @"insert into DetalleCombo (idCombo, idProducto, cantidad)
                        values (@idCombo, @idProducto, @cantidad)";

            var parameters = new Dictionary <string, object>()
            {
                { "@idCombo", idCombo },
                { "@idProducto", detC.IdProducto },
                { "@cantidad", detC.Cantidad }
            };


            ExecuteNonQuery(sql, parameters, false, tran.Connection, tran);
            return(true);
        }
Esempio n. 4
0
        //PRODUCTOS X COMBO

        public void agregarProdXCombo(Combo cmb, DetalleCombo prod)
        {
            AccesoDatosManager accesoDatos = new AccesoDatosManager();

            try
            {
                accesoDatos.setearConsulta("INSERT INTO PRODUCTOS_X_COMBO (IDCOMBO, IDPRODUCTO, UNIDADES, KILOS) VALUES (" + cmb.ID + ", " + prod.Producto.ID + ", " + prod.Unidades + ", " + prod.Kilos.ToString().Replace(',', '.') + ")");
                accesoDatos.abrirConexion();
                accesoDatos.ejecutarAccion();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                accesoDatos.cerrarConexion();
            }
        }
Esempio n. 5
0
        private void listarProductosXCombo(Combo cmb)
        {
            AccesoDatosManager accesoDatos = new AccesoDatosManager();
            ProductoNegocio    negocioP    = new ProductoNegocio();

            try
            {
                accesoDatos.setearConsulta("SELECT PC.* FROM PRODUCTOS AS P INNER JOIN PRODUCTOS_X_COMBO AS PC ON PC.IDPRODUCTO = P.ID WHERE  PC.IDCOMBO = " + cmb.ID);
                accesoDatos.abrirConexion();
                accesoDatos.ejecutarConsulta();
                DetalleCombo nuevo;
                while (accesoDatos.Lector.Read())
                {
                    nuevo          = new DetalleCombo();
                    nuevo.Producto = new Producto();
                    nuevo.Producto = negocioP.listarProducto(accesoDatos.Lector.GetInt32(1));
                    if (!Convert.IsDBNull(accesoDatos.Lector["UNIDADES"]))
                    {
                        nuevo.Unidades = accesoDatos.Lector.GetInt32(2);
                    }
                    if (!Convert.IsDBNull(accesoDatos.Lector["KILOS"]))
                    {
                        nuevo.Kilos = accesoDatos.Lector.GetDecimal(3);
                    }
                    cmb.Productos.Add(nuevo);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                accesoDatos.cerrarConexion();
            }
        }