Пример #1
0
 // metodo para txtcantidad  por que uso en el evento keypress y en el leave
 public void cantidadDobleUso()
 {
     if (IsNumeric(txtCantidad.Text))
     {
         modSesion  modSesion  = new modSesion();
         modUsuario modUsuario = new modUsuario();
         DataSet    resultado2 = modUsuario.ControlDeAcceso();
         // se verifica si usuario puede vender stock insuficiente
         if (Convert.ToString(resultado2.Tables["rsUsuario"].Rows[0]["StockInsuficiente"]) == "si")
         {
             txtCantidad.Text = Convert.ToString(modSesion.mascaraCantidad(txtCantidad.Text));
             txtPrecio.Focus();
         }
         // si usuario no puede vender stock insuficiente verifica stock
         else if (modSesion.convertirDecimal(txtStock.Text) >= modSesion.convertirDecimal(txtCantidad.Text))
         {
             txtCantidad.Text = Convert.ToString(modSesion.mascaraCantidad(txtCantidad.Text));
             txtPrecio.Focus();
         }
         else
         {
             MessageBox.Show("Stock Insuficiente");
         }
     }
     else
     {
         MessageBox.Show("Ingrese Cantidad en numeros");
         txtCantidad.Text = "";
         txtCantidad.Focus();
     }
 }
Пример #2
0
        private void txtPrecio_KeyPress(object sender, KeyPressEventArgs e)
        {
            modUsuario modUsuario = new modUsuario();
            DataSet    resultado2 = modUsuario.ControlDeAcceso();
            modSesion  modSesion  = new modSesion();

            if (e.KeyChar == (char)Keys.Enter)
            {
                if (IsNumeric(txtPrecio.Text))
                {
                    if (Convert.ToString(resultado2.Tables["rsUsuario"].Rows[0]["VenderHasta"]) == "bajoCosto") // verificando permiso si usuario puede vender hasta cero----------------------------------------
                    {
                        cargarItem();
                        e.Handled = true;
                    }
                    else if (Convert.ToString(resultado2.Tables["rsUsuario"].Rows[0]["VenderHasta"]) == "costo") // verificando permiso si usuario puede vender hasta costo---------------------------------------
                    {
                        if (Convert.ToDecimal(modSesion.convertirDecimal(txtPrecio.Text)) >= Convert.ToDecimal(productoAVender.Tables["rsProducto"].Rows[0]["costomedio"]))
                        {
                            cargarItem();
                            e.Handled = true;
                        }
                        else
                        {
                            MessageBox.Show("Precio fuera de limite, Precio es menor que costo ");
                        }
                    }
                    else if (Convert.ToString(resultado2.Tables["rsUsuario"].Rows[0]["VenderHasta"]) == "precioMay") // verificando permiso si usuario puede vender hasta costo-------------------------------------
                    {
                        if (Convert.ToDecimal(modSesion.convertirDecimal(txtPrecio.Text)) >= Convert.ToDecimal(productoAVender.Tables["rsProducto"].Rows[0]["precioMayorista"]))
                        {
                            cargarItem();
                            e.Handled = true;
                        }
                        else
                        {
                            MessageBox.Show("Precio fuera de limite, Precio es menor que Precio Mayorista ");
                        }
                    }
                    else if (Convert.ToString(resultado2.Tables["rsUsuario"].Rows[0]["VenderHasta"]) == "precioUni") // verificando permiso si usuario puede vender hasta costo
                    {
                        if (Convert.ToDecimal(modSesion.convertirDecimal(txtPrecio.Text)) >= Convert.ToDecimal(productoAVender.Tables["rsProducto"].Rows[0]["PrecioUnitario"]))
                        {
                            cargarItem();
                            e.Handled = true;
                        }
                        else
                        {
                            MessageBox.Show("Precio fuera de limite, Precio es menor que Precio Unitario ");
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Ingrese costo en numeros");
                    txtPrecio.Text = "";
                    txtPrecio.Focus();
                }
            }
        }
Пример #3
0
        // <metodo-CalculoIva>
        private decimal calcularIva()
        {
            modSesion modSesion = new modSesion();
            var       montoIva  = default(decimal);
            decimal   valor;
            int       iva;

            iva   = Convert.ToInt32(productoAVender.Tables["rsProducto"].Rows[0]["iva"]);
            valor = modSesion.convertirDecimal(txtCantidad.Text) * modSesion.convertirDecimal(txtPrecio.Text);
            if (iva == 0)
            {
                montoIva = 0;
                vIva0    = vIva0 + valor; // acumulando total iva exenta
            }
            else if (iva == 5)
            {
                montoIva = valor / 21;       // calculando importe iva incluido 5%
                vIva5    = vIva5 + montoIva; // acumulando total iva 5%
            }
            else if (iva == 10)
            {
                montoIva = valor / 11; // calculando importe iva incluido 5%
                vIva10   = vIva10 + montoIva;
            }

            vTotalIVa        = vIva5 + vIva10; // sumando total iva solo 5 y 10%
            txtIva0.Text     = Convert.ToString(modSesion.mascaraPrecio(vIva0));
            txtIva5.Text     = Convert.ToString(modSesion.mascaraPrecio(vIva5));
            txtIva10.Text    = Convert.ToString(modSesion.mascaraPrecio(vIva10));
            txtTotalIva.Text = Convert.ToString(modSesion.mascaraPrecio(vTotalIVa));
            return(montoIva);
        }
Пример #4
0
        //metodo para cargar en la grilla
        private void cargarItem()
        {
            modSesion modSesion = new modSesion();
            int       n;
            decimal   subtotalProducto;

            grilla.Rows.Add();
            n = grilla.Rows.Count - 1;
            grilla[0, n].Value      = n + 1;                                                                                                  // items
            grilla[1, n].Value      = productoAVender.Tables["rsProducto"].Rows[0]["id"];                                                     // codigo
            grilla[2, n].Value      = productoAVender.Tables["rsProducto"].Rows[0]["descripcion"];                                            // descripcion
            grilla[3, n].Value      = txtCantidad.Text;                                                                                       // cantidad
            grilla[4, n].Value      = modSesion.mascaraPrecio(txtPrecio.Text);                                                                // costo
            subtotalProducto        = modSesion.convertirDecimal(txtCantidad.Text) * modSesion.convertirDecimal(txtPrecio.Text);              // calculando subtotal del producto
            grilla[5, n].Value      = modSesion.mascaraPrecio(subtotalProducto);                                                              // subttotal
            grilla[6, n].Value      = productoAVender.Tables["rsProducto"].Rows[0]["iva"];                                                    // iva
            grilla[7, n].Value      = modSesion.mascaraPrecio(calcularIva());                                                                 // calcula monto iva incluido
            grilla[8, n].Value      = modSesion.mascaraPrecio(productoAVender.Tables["rsProducto"].Rows[0]["costomedio"]);                    // costo medio del producto
            vTotalCosto             = vTotalCosto + Convert.ToDecimal(productoAVender.Tables["rsProducto"].Rows[0]["costomedio"]) * modSesion.convertirDecimal(txtCantidad.Text);
            vTotalNeto              = vTotalNeto + modSesion.convertirDecimal(txtCantidad.Text) * modSesion.convertirDecimal(txtPrecio.Text); // calcula total neto IVA INCLUIDO
            vSubtotal               = vTotalNeto - vTotalIVa;                                                                                 // calcula subtotal que es total neto menos iva incluido
            txttotalNetoGrande.Text = Convert.ToString(modSesion.mascaraPrecio(vTotalNeto));
            txtTotalNeto.Text       = Convert.ToString(modSesion.mascaraPrecio(vTotalNeto));
            txtSubtotal.Text        = Convert.ToString(modSesion.mascaraPrecio(vSubtotal));
            actualiarTotalMonedas(vTotalNeto); // se envia total neto para convertir en monedas
            limpiarItems();
            txtCodigoProducto.Focus();
        }
Пример #5
0
        /// <procesar_la_compra>
        public bool procesarVenta()
        {
            MySqlCommand     comando;
            MySqlTransaction transaccion;
            string           sqlVenta;
            string           sqlVentaItems;
            modSesion        modSesion  = new modSesion();
            modUsuario       modUsuario = new modUsuario();

            Conexion_DB.AbrirConexion(); // se abre una conexion con la base de datos
            MySqlConnection con = Conexion_DB.conexion;

            transaccion = con.BeginTransaction();  // se inicia una transaccion con la base de datos, acontinuacion se inicia procesos multiples
            try
            {
                // se inicia proceso 1 :  actualizar tabla Venta
                sqlVenta = "update db_ventas set FacturaNro=@fac, Id_Cliente=@cli, TipoDeVenta=@tipo ,FechaDeVenta=@fecha ,SubTotal=@sub ,Iva0=@iva0 ,Iva5=@iva5 ,Iva10=@iva10 ,TotalNeto=@total, TotalPago=0,TotalDescuento=0 ,TotalSaldo=@ttlsaldo,Id_Usuario=@user,estado=@Estado, TotalCosto=@ttlcosto where id=@id";
                comando  = new MySqlCommand(sqlVenta, con);

                comando.Parameters.AddWithValue("@fac", txtFactura.Text);
                comando.Parameters.AddWithValue("@cli", txtIdCliente.Text);
                if (cbxCondicion.selectedValue == "")
                {
                    MessageBox.Show("Contado o credito?");
                }
                comando.Parameters.AddWithValue("@tipo", cbxCondicion.selectedValue.ToString());
                comando.Parameters.AddWithValue("@fecha", cbxfecha.Value);
                comando.Parameters.AddWithValue("@sub", modSesion.convertirDecimal(txtSubtotal.Text));
                comando.Parameters.AddWithValue("@iva0", modSesion.convertirDecimal(txtIva0.Text));
                comando.Parameters.AddWithValue("@iva5", modSesion.convertirDecimal(txtIva5.Text));
                comando.Parameters.AddWithValue("@iva10", modSesion.convertirDecimal(txtIva10.Text));
                comando.Parameters.AddWithValue("@total", modSesion.convertirDecimal(txtTotalNeto.Text));
                comando.Parameters.AddWithValue("@ttlsaldo", modSesion.convertirDecimal(txtTotalNeto.Text));
                int usr = Convert.ToInt32(modUsuario.VerificarIdUsuarioActivo());
                comando.Parameters.AddWithValue("@user", usr);
                comando.Parameters.AddWithValue("@estado", 1);
                comando.Parameters.AddWithValue("@ttlcosto", vTotalCosto);
                comando.Parameters.AddWithValue("@id", Convert.ToInt32(txtVentaID.Text));
                comando.ExecuteNonQuery();

                // inicia proceso 2 :  insertar registros en tabla Venta_items
                int c;
                c = 0;
                while (c < grilla.Rows.Count)
                {
                    sqlVentaItems = "insert into db_ventaitems(Id_Ventas,Id_Producto,CostoMedio,Precio,Cantidad,Iva,Estado)values(@idcom,@idprod,@costomedio,@precio,@cantidad,@iva,@estado) ";
                    comando       = new MySqlCommand(sqlVentaItems, con);
                    comando.Parameters.AddWithValue("@idcom", txtVentaID.Text);
                    int idprocut1 = Convert.ToInt32(grilla[1, c].Value);
                    comando.Parameters.AddWithValue("@idprod", idprocut1);
                    comando.Parameters.AddWithValue("@costomedio", modSesion.convertirDecimal(grilla[8, c].Value));
                    comando.Parameters.AddWithValue("@precio", modSesion.convertirDecimal(grilla[4, c].Value));
                    comando.Parameters.AddWithValue("@cantidad", modSesion.convertirDecimal(grilla[3, c].Value));
                    comando.Parameters.AddWithValue("@iva", Convert.ToInt32(grilla[6, c].Value));
                    comando.Parameters.AddWithValue("@estado", 1);
                    comando.ExecuteNonQuery();
                    c = c + 1;
                }


                // finaliza transaccion y aplica cambios en todas las tablas
                transaccion.Commit();
                return(true);
            }
            catch (MySqlException ex)
            {
                MessageBox.Show("Error al procesar Venta, No se efectuaron cambios " + ex.Message);
                transaccion.Rollback();
                return(false);
            }
        }