Esempio n. 1
0
        static public void addVenta()
        {
            E_Venta        venta        = new E_Venta();
            E_DetalleVenta detalleVenta = new E_DetalleVenta();

            //cabecera de venta
            venta.anular              = false;
            venta.cliente.idCliente   = 1;  //consumidor final
            venta.codVenta            = 0;  // lo busco en la base de datos
            venta.condPago.idCondPago = 1;  //efectivo
            venta.cuit        = "26-3547123";
            venta.direccion   = "";
            venta.fecha       = DateTime.Now;       //fecha de hoy
            venta.observacion = "Realizado en test";
            //venta.usuario.idUsuario = 1;// Bonnetto
            venta.vendedor.idVendedor = 1;            // Eamnuel Bonetto
            //Detalle
            BD_Articulo bdAritculo = new BD_Articulo();
            //AGREGAR ARTICULO
            E_Articulo nvoArticulo = bdAritculo.getOne_Articulo("P1");

            detalleVenta.codArticulo    = nvoArticulo.codArticulo;
            detalleVenta.descripcion    = nvoArticulo.descripcion;
            detalleVenta.cantidad       = 1;
            detalleVenta.precioArticulo = detalleVenta.cantidad * nvoArticulo.precioFinal;

            Console.WriteLine("idCliente: " + venta.cliente.idCliente + " condPago: " + venta.condPago);
            Console.WriteLine("CUIT: " + venta.cuit + " Fecha de venta: " + venta.fecha.ToString());
            //Console.WriteLine("Observacion: " + venta.observacion + " idUsuario:  " + venta.usuario.idUsuario + " idVendedor "  + venta.vendedor.idVendedor);
            Console.WriteLine("----------------------------Detalle-----------------------------------");
            Console.WriteLine("codArticulo | Descripcion | descuento | cantidad | total ");
            Console.WriteLine(detalleVenta.codArticulo + " | " + detalleVenta.descripcion + "|" + 0 + " | " + detalleVenta.precioArticulo);
        }
Esempio n. 2
0
        //Insertar, Modifica y Elimina Venta (Procedimiento)
        #region Abm
        public int abmDetalleVenta(string pAccion, E_DetalleVenta objE_DetalleVenta)
        {
            int Resultado = 0;

            SqlCommand cmd = new SqlCommand("usp_Ventas_abmDetalleVentas", Conexion);

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@Accion", pAccion);
            cmd.Parameters.AddWithValue("@detalleId", objE_DetalleVenta.DetalleId);
            cmd.Parameters.AddWithValue("@ventaId", objE_DetalleVenta.VentaId.VentaId);
            cmd.Parameters.AddWithValue("@productoId", objE_DetalleVenta.ProductoId.ProductoId);
            cmd.Parameters.AddWithValue("@cantidad", objE_DetalleVenta.Cantidad);
            cmd.Parameters.AddWithValue("@precioUnitario", objE_DetalleVenta.PrecioUnitario);

            try
            {
                AbrirConexion();
                Resultado = cmd.ExecuteNonQuery();
            }
            catch (Exception e)
            {
                throw new Exception("Error al tratar de almacenar, Borrar o Modificar datos de Detalle de Ventas", e);
            }
            finally
            {
                CerrarConexion();
                cmd.Dispose();
            }
            return(Resultado);
        }
Esempio n. 3
0
        private void btnAplicarRecargo_Click(object sender, EventArgs e)
        {
            dgDetalle.Enabled = true;

            if (btnAplicarRecargo.Text == "Aplicar &Recargo")
            {
                //coloca la celda de precio unitario en edicion
                colPrecio.ReadOnly = false;
                colPrecio.DefaultCellStyle.BackColor = Color.FromArgb(192, 255, 192);
                btnAplicarRecargo.Text = "Confirmar Recargo";
                //Desavilito los demas botones
                grSaldo.Enabled            = false;
                lblCancelarRecargo.Visible = true;
            }
            else
            {
                List <E_DetalleVenta> listDet = new List <E_DetalleVenta>();
                foreach (DataGridViewRow detRow in dgDetalle.Rows)
                {
                    E_DetalleVenta det = new E_DetalleVenta();

                    det.idDetalle      = Convert.ToInt64(detRow.Cells[colIdDetalle.Index].Value);
                    det.precioArticulo = Convert.ToDecimal(detRow.Cells[colPrecio.Index].Value);
                    det.precioTotal    = Convert.ToDecimal(detRow.Cells[colTotal.Index].Value);

                    listDet.Add(det);
                }

                E_Venta venta = new E_Venta();
                //habilito los botones
                grSaldo.Enabled = true;

                btnAplicarRecargo.Text = "Aplicar &Recargo";

                N_Venta nVenta     = new N_Venta();
                decimal totalVenta = calcularTotalVenta();
                Boolean xConf      = nVenta.aplicarRecargoVenta(listDet, totalVenta, _VentaConsultada.codVenta);

                if (xConf)
                {
                    consultarVenta();
                }
                else
                {
                    MessageBox.Show("Error");
                }
            }
            //################-------------NO BORRAR -------------########################
            //Puede servir en el futuro para cuando se quiera aplicar correctamente el recargo
            //decimal precioTotal = Convert.ToDecimal(txtTotalVenta.Text);
            //decimal recargo = Convert.ToDecimal(txtRecargo.Text);

            //frmAplicarRecargo frmAplRecargo = new frmAplicarRecargo(precioTotal-recargo,_VentaConsultada.codVenta);
            //frmAplRecargo.ShowDialog();
            //consultarVenta();
        }
Esempio n. 4
0
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            try
            {
                DialogResult r = MessageBox.Show("¿Desea guardar Boleta?", "Confirmar", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (r == DialogResult.Yes)
                {
                    SoloNumCeldaGrid();
                    EscribirNuevoMonto();
                    ActualizarMontosDgv();
                    E_Venta v = new E_Venta();

                    E_cliente c = new E_cliente();
                    c.Id_Cliente = LOCAL.Instancia.ReturnIdCliente(0, 0);
                    v.cliente    = c;

                    E_usuario u = new E_usuario();
                    u         = us;
                    v.usuario = u;

                    E_Sucursal s = new E_Sucursal();
                    s.Id_Suc   = LOCAL.Instancia.Id_Suc;
                    v.sucursal = s;

                    E_Comprobante tc = new E_Comprobante();
                    tc.Id_TipCom      = 1;
                    v.tipocomprobante = tc;

                    E_Moneda m = new E_Moneda();
                    m.Id_Moneda = Convert.ToInt32(CboMoneda.SelectedValue);
                    v.moneda    = m;

                    E_TipoPago tp = new E_TipoPago();
                    tp.Id_TipPago = Convert.ToInt32(cboTipoPago.SelectedValue);
                    v.tipopago    = tp;

                    v.Igv_Venta       = 0;
                    v.Descuento_Venta = 0.0;

                    List <E_DetalleVenta> Detalle = new List <E_DetalleVenta>();
                    foreach (DataGridViewRow row in dgvDetalleBoleta.Rows)
                    {
                        E_DetalleVenta dt = new E_DetalleVenta();
                        dt.Id_Prod_Det  = Convert.ToInt32(row.Cells[0].Value);
                        dt.PrecProd_Det = Convert.ToDouble(row.Cells[3].Value);
                        dt.Cantidad_Det = Convert.ToInt32(row.Cells[2].Value);
                        Detalle.Add(dt);
                    }
                    v.detalleventa = Detalle;
                    v.Desc_Venta   = "";
                    CargarSerie_correlativo();
                    int result = CN_Venta.Intancia.GuardarVenta(v, 1, serie.Numero_Serie);
                    MessageBox.Show("Se guardo de manera correcta!", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    dgvDetalleBoleta.Enabled = false; ControlBotones(true, false, false, false); btnAgregarItem.Enabled = false; btnAnular.Enabled = true;
                    ac.BloquearText(this.gbCliente, false); ac.BloquearText(this.panel1, false);
                    lblMontoEnletras.Text = "Son: " + ac.enletras(txtTotal.Text).ToLower() + CboMoneda.Text;
                }
            }
            catch (ApplicationException ae) { MessageBox.Show(ae.Message, "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Esempio n. 5
0
        public E_Venta  LstVentaDetalle(int id_venta)
        {
            SqlCommand            cmd = null;
            IDataReader           idr = null;
            E_Venta               v   = null;
            List <E_DetalleVenta> det = null;

            try
            {
                SqlConnection cn = ConexionBD.Instancia.Conectar();
                cmd = new SqlCommand("spMostrarCabeceraVenta", cn);
                cmd.Parameters.AddWithValue("@prmid_venta", id_venta);
                cmd.CommandType = CommandType.StoredProcedure;
                cn.Open();
                idr = cmd.ExecuteReader();
                if (idr.Read())
                {
                    v = new E_Venta();
                    v.Codigo_Venta      = idr["Codigo_Venta"].ToString();
                    v.Serie_Venta       = Convert.ToInt32(idr["Serie_Venta"].ToString());
                    v.Correlativo_Venta = idr["Correlativo_Venta"].ToString();
                    v.Igv_Venta         = Convert.ToInt32(idr["Igv_Venta"]);
                    v.FechaVenta        = Convert.ToDateTime(idr["FechaVenta"]);
                    v.Estado_Venta      = idr["Estado_Venta"].ToString();
                    v.Descuento_Venta   = Convert.ToDouble(idr["Descuento_Venta"]);
                    v.Desc_Venta        = idr["Desc_Venta"].ToString();

                    E_cliente c = new E_cliente();
                    c.Nombre_Cliente    = idr["Nombre_Cliente"].ToString();
                    c.NumeroDoc_Cliente = idr["NumeroDoc_Cliente"].ToString();

                    E_TipoDoc td = new E_TipoDoc();
                    td.Nombre_TipDoc = idr["Nombre_TipDoc"].ToString();
                    c.tipodocumento  = td;
                    v.cliente        = c;

                    E_Sucursal s = new E_Sucursal();
                    s.Direccion_Suc = idr["Direccion_Suc"].ToString();
                    v.sucursal      = s;

                    E_usuario u = new E_usuario();
                    u.Nombre_Usuario = idr["Nombre_Usuario"].ToString();
                    v.usuario        = u;

                    E_Comprobante tc = new E_Comprobante();
                    tc.Nombre_TipCom  = idr["Nombre_TipCom"].ToString();
                    v.tipocomprobante = tc;

                    E_Moneda m = new E_Moneda();
                    m.Descripcion_Moneda = idr["Descripcion_Moneda"].ToString();
                    v.moneda             = m;

                    E_TipoPago tp = new E_TipoPago();
                    tp.Descripcion_TipPago = idr["Descripcion_TipPago"].ToString();
                    v.tipopago             = tp;

                    if (idr.NextResult())
                    {
                        det = new List <E_DetalleVenta>();
                        while (idr.Read())
                        {
                            E_DetalleVenta d = new E_DetalleVenta();
                            d.PrecProd_Det = Convert.ToDouble(idr["PrecProd_Det"]);
                            d.Cantidad_Det = Convert.ToInt32(idr["Cantidad_Det"]);
                            E_Producto p = new E_Producto();
                            p.Codigo_Prod = idr["Codigo_Prod"].ToString();
                            p.Nombre_Prod = idr["Nombre_Prod"].ToString();
                            p.Precio_Prod = Convert.ToDouble(idr["Precio_Prod"]);
                            d.producto    = p;
                            det.Add(d);
                        }
                        v.detalleventa = det;
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
            finally { cmd.Connection.Close(); }
            return(v);
        }
Esempio n. 6
0
        private Boolean confirmarVenta()
        {
            Boolean xConf = false;

            if (dgDetalle.Rows.Count == 0)
            {
                return(xConf);
            }
            E_Venta venta = new E_Venta();

            //Cargar cabecera
            venta.codVenta            = _codVenta;
            venta.cliente.idCliente   = Convert.ToInt64(txtIdCliente.Text);
            venta.cliente.descripcion = txtDescripcion.Text;
            venta.condPago.idCondPago = ((ComboItem)cboCondPago.SelectedItem).Id;
            venta.cuit                = txtCuitDni.Text;
            venta.fecha               = dtFecVenta.Value;;
            venta.observacion         = txtObservacion.Text;
            venta.vendedor.idVendedor = ((ComboItem)cboVendedor.SelectedItem).Id;
            venta.direccion           = txtDireccion.Text;
            venta.anular              = false;
            venta.precioTotal         = calcularTotalVenta();
            venta.descuento           = calcularDescuento();


            //Cargar detalle
            foreach (DataGridViewRow filaDetalle in dgDetalle.Rows)
            {
                E_DetalleVenta detalle = new E_DetalleVenta();

                detalle.codArticulo    = filaDetalle.Cells[colCodArticulo.Index].Value.ToString();
                detalle.descripcion    = filaDetalle.Cells[colDescripcion.Index].Value.ToString();
                detalle.cantidad       = Convert.ToInt16(filaDetalle.Cells[colCantidad.Index].Value);
                detalle.precioArticulo = Convert.ToDecimal(filaDetalle.Cells[colPrecio.Index].Value);
                detalle.stockActual    = Convert.ToInt16(filaDetalle.Cells[colStock.Index].Value);
                detalle.precioTotal    = Convert.ToDecimal(filaDetalle.Cells[colTotal.Index].Value);

                venta.detalles.Add(detalle);
            }

            if (_codVenta == 0) // Nueva Venta
            {
                //Confirmar la entrega
                frmConfVenta frmConf = new frmConfVenta(venta, _frmName);
                frmConf.ShowDialog();

                // el frm ConfVenta devuelve TRUE o False si se confirmar la venta lo guarda en la variable de clase
                xConf = _confVenta;
            }
            else //Modificar una venta
            {
                if (MessageBox.Show("Estas Seguro que deseas modificar la venta", "Modificar Venta", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
                {
                    bool generarNotaCredito = true;

                    //Si se le agrega producto a la venta no genera nota de credito
                    if (_VentaConsultada.precioTotal <= venta.precioTotal)
                    {
                        generarNotaCredito = false;
                    }

                    /**
                     * Si lo abonado es menor al precio total o igual
                     * en el caso de que sea menor no genera porque queda deviendo
                     * si es igual no genera porque paga el total de la venta
                     **/
                    if (_VentaConsultada.abonado <= venta.precioTotal)
                    {
                        generarNotaCredito = false;
                    }

                    if (generarNotaCredito)                                                  // si genero la nota de credito
                    {
                        decimal montoCredito = _VentaConsultada.abonado - venta.precioTotal; // El credito es la diferencia de la venta consultada y la venta modficada
                        //decimal montoCredito = this._VentaConsultada.abonado
                        //Nota Credito
                        frmConfVentaCredito frm     = new frmConfVentaCredito(venta, montoCredito);
                        DialogResult        oResult = frm.ShowDialog();
                    }


                    //MOdifico la venta
                    Negocio.N_Venta nVenta = new N_Venta();
                    nVenta.ModificarVenta(venta);
                    xConf = true;

                    //if (oResult == DialogResult.OK) //Se confirmo y se genero la nota de credito
                    //{
                    //    //MOdifico la venta
                    //    Negocio.N_Venta nVenta = new N_Venta();
                    //    nVenta.ModificarVenta(venta);
                    //    xConf = true;
                    //}
                    //else if (oResult == DialogResult.Cancel) // El usuario no quiso generar la nota de credito , devuelve el dinero
                    //{
                    //    //Devuele el dinero, se modifca lo abonado por el cliente
                    //    //MOdifico la venta
                    //    Negocio.N_Venta nVenta = new N_Venta();
                    //    nVenta.ModificarVenta(venta);
                    //    xConf = true;

                    //}
                    //else if (oResult == DialogResult.Abort) //Surgio un error no se pudo generar la nota de credito
                    //{
                    //    //Por el momento nada
                    //    xConf = true;
                    //}
                }
            }

            return(xConf);
        }
Esempio n. 7
0
        public E_Venta getOne_Venta(Int64 codVenta)
        {
            E_Venta venta = new E_Venta();

            try
            {
                cn.Open();
                //Obtener la cabecera de la venta
                cmd             = new SqlCommand("getOneVenta", cn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@codVenta", codVenta);
                SqlDataReader oReaderVenta = cmd.ExecuteReader();

                while (oReaderVenta.Read())
                {
                    venta.codVenta            = Convert.ToInt64(oReaderVenta["codVenta"]);
                    venta.fecha               = Convert.ToDateTime(oReaderVenta["fecVenta"]);
                    venta.vendedor.idVendedor = Convert.ToInt64(oReaderVenta["idVendedor"]);
                    venta.anular              = Convert.ToBoolean(oReaderVenta["anular"]);
                    venta.condPago.idCondPago = Convert.ToInt64(oReaderVenta["idCondPago"]);
                    venta.cliente.idCliente   = Convert.ToInt64(oReaderVenta["idCliente"]);
                    venta.direccion           = oReaderVenta["direccion"].ToString();
                    venta.cuit        = oReaderVenta["cuit"].ToString();
                    venta.observacion = oReaderVenta["observacion"].ToString();
                    venta.precioTotal = Convert.ToDecimal(oReaderVenta["precioTotal"]);
                    venta.abonado     = Convert.ToDecimal(oReaderVenta["abonado"]);
                    venta.descuento   = Convert.ToDecimal(oReaderVenta["descuento"]);
                    venta.recargo     = Convert.ToDecimal(oReaderVenta["recargo"]);
                }
                oReaderVenta.Close();
                //Detalle de la venta
                cmd             = new SqlCommand("getOneDetalleVenta", cn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@codVenta", codVenta);

                SqlDataReader oReaderDetalle = cmd.ExecuteReader();

                while (oReaderDetalle.Read())
                {
                    E_DetalleVenta detVenta = new E_DetalleVenta();
                    detVenta.idDetalle      = Convert.ToInt64(oReaderDetalle["idDetalle"]);
                    detVenta.codArticulo    = oReaderDetalle["codArticulo"].ToString();
                    detVenta.cantidad       = Convert.ToInt16(oReaderDetalle["cantidad"]);
                    detVenta.precioArticulo = Convert.ToDecimal(oReaderDetalle["precio"]);
                    detVenta.precioTotal    = Convert.ToDecimal(oReaderDetalle["precioTotal"]);
                    detVenta.descripcion    = oReaderDetalle["descripcion"].ToString();

                    if (oReaderDetalle["stock"] != DBNull.Value)
                    {
                        detVenta.stockActual = Convert.ToInt16(oReaderDetalle["stock"]);
                    }
                    else
                    {
                        detVenta.stockActual = 0;
                    }
                    venta.detalles.Add(detVenta);
                }
                oReaderDetalle.Close();

                //CreditoUtilizado

                cmd             = new SqlCommand("getOneCreditoUtilizado", cn);
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.AddWithValue("@codVentaUtilizado", codVenta);


                SqlDataReader oReaderCredito = cmd.ExecuteReader();


                while (oReaderCredito.Read())
                {
                    venta.creditoUtilizado = oReaderCredito["CreditoUtilizado"] != DBNull.Value ? (decimal)oReaderCredito["CreditoUtilizado"]: 0;
                }
            }
            catch (Exception e)
            {
                PintError.MsjError = e.Message;
                venta = null;
            }
            finally
            {
                if (cn.State == ConnectionState.Open)
                {
                    cn.Close();
                }
            }


            return(venta);
        }