예제 #1
0
        public static string agregarcodigobarra(string varcodigobarra)
        {
            bool            cambiarcodigobarra = false;
            NegocioArticulo objart             = new NegocioArticulo();
            string          codigoBarra        = "";

            try
            {
                do
                {
                    if (cambiarcodigobarra == true)
                    {
                        codigoBarra = Convert.ToString(Convert.ToInt32(codigoBarra) + 1);
                    }
                    else
                    {
                        codigoBarra = NegocioArticulo.obtenerIdArticulo().ToString();
                    }


                    codigoBarra = codigoBarra.PadLeft(12, '0');
                    int codigoControl = NegocioArticulo.calcDigControl(codigoBarra);
                    varcodigobarra = codigoBarra + codigoControl;
                    objart.extraerdatos(0, "porbarra", varcodigobarra);
                    cambiarcodigobarra = true;
                } while (objart.Sindatos == true);
                return(varcodigobarra);
            }
            catch (FormatException ex)
            {
                throw;
            }
        }
예제 #2
0
        private void txtNombreProducto_KeyDown(object sender, KeyEventArgs e)
        {
            NegocioArticulo objart = new NegocioArticulo();

            if (e.KeyCode == Keys.Down && Dtproducto.Visible == true)
            {
                //si se preciona la tecla hacia abajo se pasa el foco a la grilla
                Dtproducto.Focus();
            }

            if (e.KeyCode == Keys.Enter && IsNumeric(txtNombreProducto.Text) == true)
            {
                txtNombreProducto.Text = txtNombreProducto.TextLength == 12 ? "0" + txtNombreProducto.Text : txtNombreProducto.Text;
                if (txtNombreProducto.TextLength >= 13 && IsNumeric(txtNombreProducto.Text) == true)
                {
                    objart.extraerdatos(0, "porbarra", txtNombreProducto.Text);
                    codigoproducto = objart.IdArticulo.ToString();
                    extraerproducto(objart.IdArticulo);
                }
                else
                {
                    extraerproducto(Convert.ToInt32(txtNombreProducto.Text));
                }


                txtcantidad.Focus();
            }
        }
예제 #3
0
        private void Buscar_producto(int codproducto, string tipo)
        {
            NegocioArticulo objnart = new NegocioArticulo();


            objnart.extraerdatos(codproducto, tipo);

            if (objnart.Sindatos == true)
            {
                bool encontrado = false;
            }
            else
            {
                // UtilityFrm.mensajeError( "No es una clave valida");

                FrmMensajeAutoCierre.Show("No es una clave valida", "Error", 1000);
            }
        }
예제 #4
0
        public void Buscar_producto(long codproducto, string tipo, bool agregardatagrid, decimal cantidad = 1, string codbarra = "")
        {
            try
            {
                decimal precio;
                decimal descuento;
                decimal importe        = 0;
                decimal total          = 0;
                decimal cantidadActual = 0;
                int     contador       = -1;

                indice = -1;

                if (chkporcantidad.Checked == true)
                {
                    cantidad = 0;
                }
                objnart.extraerdatos(codproducto, tipo, codbarra);

                if (objnart.Sindatos == true)
                {
                    //TxtDetalle.Text = objnart.Nombre;
                    //TxtPrecio.Text = Convert.ToString(decimal.Round(objnart.Precio, 2));
                    //TxtCodigo.Text = Convert.ToString(objnart.IdArticulo);
                    //pesable = objnart.Pesable;


                    //si el descuento esta vacio se asigna 0 o se asigna su mismo contenido
                    //  TxtDesc.Text = (string.IsNullOrEmpty(TxtDesc.Text)) ? "0" : TxtDesc.Text;

                    bool encontrado = false;

                    //if (agregardatagrid == true)
                    //{
                    foreach (DataGridViewRow row in DGDetalleitems.Rows)
                    {
                        contador = contador + 1;
                        if (Convert.ToString(row.Cells["CCodigo"].Value) == codproducto.ToString())
                        {
                            indice     = contador;
                            encontrado = true;

                            // row.Cells["Descuento"].Value = (string.IsNullOrEmpty(TxtDesc.Text)) ? "0" : TxtDesc.Text;
                            //asigno el precio,descuento,cantidad
                            precio = Convert.ToDecimal(row.Cells["CPrecio"].Value);
                            //descuento = Convert.ToDecimal(row.Cells["Descuento"].Value);
                            cantidadActual = (Convert.ToDecimal(row.Cells["CCantidad"].Value));

                            //incremento la cantidad del producto agregado
                            cantidadActual += cantidad;
                            row.Cells["CCantidad"].Value = cantidadActual;
                            //calculo el precio con descuento incluido * la cantidad de articulos agregados
                            importe = precio * cantidadActual;
                            // importe = importe - ((importe * descuento) / 100);
                            row.Cells["CImporte"].Value = importe;
                        }
                    }



                    if (encontrado == false)
                    {
                        //si no se encuentra cantidad
                        indice = -1;
                        precio = Convert.ToDecimal(objnart.Precio);
                        //descuento = Convert.ToDecimal(TxtDesc.Text);
                        //le aplico el descuento correspondiente
                        //precio = precio - ((precio * descuento) / 100);
                        importe = precio * cantidad;

                        //no calculo el precio por la cantidad porque da el mismo numero

                        DGDetalleitems.Rows.Add(objnart.IdArticulo, objnart.Descripcion, precio, cantidad, importe);
                    }

                    totales();
                    //foreach (DataGridViewRow row in DGVenta.Rows)
                    //{
                    //    total = total + Convert.ToDecimal (row.Cells["importe"].Value);
                    //    decimal.Round(total, 2);
                    //}
                    //txtTotalPagar.Text = Convert.ToString(total);
                    //txtNombreProducto.Text = "";
                    txtNombreProducto.SelectAll();
                }
                else
                {
                    // UtilityFrm.mensajeError( "No es una clave valida");

                    FrmMensajeAutoCierre.Show("No es una clave valida", "Error", 1000);



                    txtNombreProducto.SelectAll();
                }



                // txtcant.SelectAll(); txtcant.Focus();
            }
            catch (Exception)
            {
                throw;
            }
        }