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); }
//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); }
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(); }
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); } }
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); }
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); }
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); }