private void seleccionarNotaAcobrar(decimal monto, string idoperacion) { modSesion modSesion = new modSesion(); txtMonto.Text = Convert.ToString(modSesion.mascaraPrecio(monto)); txtId_operacion.Text = idoperacion; }
private void frmMenuCaja_Load(object sender, EventArgs e) { modSesion modSesion = new modSesion(); modSesion.cargarConfiguraciones(); iniciarCobroVenta(); mostrarCotizacion(); }
private void limpiarPago() { modSesion modSesion = new modSesion(); txtpagogs.Text = Convert.ToString(modSesion.mascaraCotizacionGuaranies("0")); txtpagors.Text = Convert.ToString(modSesion.mascaraCotizacion("0")); txtpagous.Text = Convert.ToString(modSesion.mascaraCotizacion("0")); txtpagops.Text = Convert.ToString(modSesion.mascaraCotizacion("0")); txtpagoCr.Text = Convert.ToString(modSesion.mascaraCotizacion("0")); txtvueltogs.Text = Convert.ToString(modSesion.mascaraCotizacionGuaranies("0")); txtvueltops.Text = Convert.ToString(modSesion.mascaraCotizacion("0")); txtvueltors.Text = Convert.ToString(modSesion.mascaraCotizacion("0")); txtvueltous.Text = Convert.ToString(modSesion.mascaraCotizacion("0")); txtvueltoCr.Text = Convert.ToString(modSesion.mascaraCotizacion("0")); }
/*****************************************************/ private void iniciarCobroVenta() { // se captura fecha del computador fecha = DateAndTime.Today; txtFechaCaja.Text = fecha.ToShortDateString().ToString(); // se captura nuevo numero de caja modCaja modcajax = new modCaja(); txtId_Caja.Text = Convert.ToString(modcajax.capturarNuevoNumeroCaja()); // se capturar notas de ventas a cobrar del dia con estado 0 dsVentaPendiente = modcajax.verNotaAcobrar(fecha); grillaVentas.DataSource = dsVentaPendiente.Tables["rsVentaPendiente"]; modSesion modSesion = new modSesion(); grillaVentas.Columns["Total Neto"].DefaultCellStyle.Format = modSesion.formato_precio; grillaVentas.Columns["Total Neto"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; }
private void mostrarSaldoCobrar() { modSesion modSesion = new modSesion(); if (modSesion.config_moneda == "US") { txtsaldors.Text = Convert.ToString(modSesion.mascaraCotizacion(saldoPrincipal * cotRs)); txtsaldops.Text = Convert.ToString(modSesion.mascaraCotizacion(saldoPrincipal * cotPs)); txtsaldous.Text = Convert.ToString(modSesion.mascaraCotizacion(saldoPrincipal)); txtsaldogs.Text = Convert.ToString(modSesion.mascaraCotizacionGuaranies(saldoPrincipal * cotGs)); txtSaldoCr.Text = Convert.ToString(modSesion.mascaraCotizacion(saldoPrincipal * cotCr)); } else if (modSesion.config_moneda == "GS") { txtsaldogs.Text = Convert.ToString(modSesion.mascaraCotizacionGuaranies(saldoPrincipal)); txtSaldoCr.Text = Convert.ToString(modSesion.mascaraCotizacion(saldoPrincipal * cotCr)); txtsaldous.Text = Convert.ToString(modSesion.mascaraCotizacion(saldoPrincipal / cotUs)); txtsaldors.Text = Convert.ToString(modSesion.mascaraCotizacion(saldoPrincipal / cotRs)); txtsaldops.Text = Convert.ToString(modSesion.mascaraCotizacion(saldoPrincipal / cotPs)); } }
private void mostrarTotalCobrar() { modSesion modSesion = new modSesion(); if (modSesion.config_moneda == "US") { txtTotalUs.Text = Convert.ToString(modSesion.mascaraCotizacion(totalPrincipal)); txtTotalRs.Text = Convert.ToString(modSesion.mascaraCotizacion(totalPrincipal * cotRs)); txtTotalPs.Text = Convert.ToString(modSesion.mascaraCotizacion(totalPrincipal * cotPs)); txtTotalGs.Text = Convert.ToString(modSesion.mascaraCotizacionGuaranies(totalPrincipal * cotGs)); txttotalcr.Text = Convert.ToString(modSesion.mascaraCotizacion(totalPrincipal * cotCr)); } else if (modSesion.config_moneda == "GS") { txtTotalGs.Text = Convert.ToString(modSesion.mascaraCotizacionGuaranies(totalPrincipal)); txttotalcr.Text = Convert.ToString(modSesion.mascaraCotizacion(totalPrincipal * cotCr)); txtTotalUs.Text = Convert.ToString(modSesion.mascaraCotizacion(totalPrincipal / cotUs)); txtTotalRs.Text = Convert.ToString(modSesion.mascaraCotizacion(totalPrincipal / cotRs)); txtTotalPs.Text = Convert.ToString(modSesion.mascaraCotizacion(totalPrincipal / cotPs)); } }
private void mostrarCotizacion() { modCotizacion modCotizacion = new modCotizacion(); modSesion modSesion = new modSesion(); dsCotizacion = modCotizacion.cargarCotizacion(); if (dsCotizacion.Tables["rsCotizacion"].Rows.Count > 0) { cotRs = Convert.ToDecimal(dsCotizacion.Tables["rsCotizacion"].Rows[0]["rs"]); cotUs = Convert.ToDecimal(dsCotizacion.Tables["rsCotizacion"].Rows[0]["us"]); cotPs = Convert.ToDecimal(dsCotizacion.Tables["rsCotizacion"].Rows[0]["ps"]); cotCr = Convert.ToDecimal(dsCotizacion.Tables["rsCotizacion"].Rows[0]["cr"]); cotGs = Convert.ToDecimal(dsCotizacion.Tables["rsCotizacion"].Rows[0]["gs"]); txtCot_Gs.Text = Convert.ToString(modSesion.mascaraCotizacionGuaranies(cotGs)); txtCot_Us.Text = Convert.ToString(modSesion.mascaraCotizacion(cotUs)); txtCot_Rs.Text = Convert.ToString(modSesion.mascaraCotizacion(cotRs)); txtCot_Ps.Text = Convert.ToString(modSesion.mascaraCotizacion(cotPs)); txtCot_cr.Text = Convert.ToString(modSesion.mascaraCotizacion(cotCr)); idCotizacion = Convert.ToInt32(dsCotizacion.Tables["rsCotizacion"].Rows[0]["id"]); } }
/***************PAGO EN REALES**************************/ private void CobrarRsCaja() { modSesion modSesion = new modSesion(); if (txtpagors.Text != "") { try { decimal pago; pago = modSesion.convertirDecimal(txtpagors.Text); // se convierte a decimal valor de la caja de texto saldoPrincipal = saldoPrincipal + pagoRs; // suma pagoRs al saldoPrincipal antes de aplicar nuevo pago en Rs if (modSesion.config_moneda == "US") { pagoRs = pago / cotRs; // se convierte nuevo monto a pagar en la moneda principal del sistema } else if (modSesion.config_moneda == "GS") { pagoRs = pago * cotRs; // se convierte nuevo monto a pagar en la moneda principal del sistema } saldoPrincipal = saldoPrincipal - pagoRs; // se resta pagoRs al saldo principal del sistema txtpagors.Text = Convert.ToString(modSesion.mascaraCotizacion(pago)); // se aplica mascara a la caja de texto mostrarSaldoCobrar(); // se recalcula saldoPrincipal en las distintas monedas } catch (Exception ex) { // se limpia caja de texto en caso de ingresar letras en el pago MessageBox.Show(ex.Message); txtpagors.Text = Convert.ToString(modSesion.mascaraCotizacion("0")); txtpagors.Focus(); } } else { // se aplica mascara en caso de que se quede vacio el pago txtpagors.Text = Convert.ToString(modSesion.mascaraCotizacion("0")); } }
/**********VUELTO EN EUROS**********/ public void vueltoEuros() { modSesion modSesion = new modSesion(); if (txtvueltoCr.Text != "") { try { decimal vuelto; vuelto = modSesion.convertirDecimal(txtvueltoCr.Text); // se convierte a decimal valor de la caja de texto saldoPrincipal = saldoPrincipal - vueltoCr; // resta vueltors al saldoPrincipal antes de aplicar nuevo vuelto en cr if (modSesion.config_moneda == "US") { vueltoCr = vuelto / cotCr; // se convierte nuevo monto vuelto en la moneda principal del sistema } else if (modSesion.config_moneda == "GS") { vueltoCr = vuelto * cotCr; // se convierte nuevo monto vuelto en la moneda principal del sistema } saldoPrincipal = saldoPrincipal + vueltoCr; // se suma vuelto al saldo principal del sistema (Saldo Negativo) txtvueltoCr.Text = Convert.ToString(modSesion.mascaraCotizacion(vuelto)); // se aplica mascara a la caja de texto mostrarSaldoCobrar(); // se recalcula saldoPrincipal en las distintas monedas } catch (Exception ex) { // se limpia caja de texto en caso de ingresar letras en el vuelto MessageBox.Show(ex.Message); txtvueltoCr.Focus(); txtvueltoCr.Text = Convert.ToString(modSesion.mascaraCotizacion("0")); } } else { // se aplica mascara en caso de que se quede vacio el pago txtvueltoCr.Text = Convert.ToString(modSesion.mascaraCotizacion("0")); } }
/*************METODOS PARA EL INSERT DE LA CAJA**************/ public void cobrarVenta() { modSesion modSesion = new modSesion(); modUsuario modUsuario = new modUsuario(); frmComprobante frmComprobante = new frmComprobante(txtId_operacion.Text); if (Math.Round(saldoPrincipal, 2) != 0) { MessageBox.Show("Complete monto a pagar o verifique vuelto"); } else { MySqlCommand comando; MySqlTransaction transaccion; string sqlCaja; string sqlStock; string sqlventa; modCaja modCaja = new modCaja(); 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 : insertar registro en la tabla caja----------------------------------------- sqlCaja = "INSERT INTO db_cajaregistro (Fecha,Movimiento,Operacion,id_Operacion,SubTotal,Descuento,TotalNeto,GS, US, RS, PA, CH, TJ, CR,Id_Cotizacion,Estado,Id_Usuarios) value " + "(current_timestamp,@mov,@operacion,@id_op,@subtotal,@descuento,@totalneto,@gs,@us,@rs,@pa,@ch,@tj,@cr,@id_cotizacion,@estado,@user)"; comando = new MySqlCommand(sqlCaja, con); comando.Parameters.AddWithValue("@mov", "E"); comando.Parameters.AddWithValue("@operacion", "VENTA"); comando.Parameters.AddWithValue("@id_op", txtId_operacion.Text); comando.Parameters.AddWithValue("@subtotal", totalPrincipal); comando.Parameters.AddWithValue("@descuento", descuentoPrincipal); comando.Parameters.AddWithValue("@totalneto", totalPrincipal - descuentoPrincipal); comando.Parameters.AddWithValue("@gs", modSesion.convertirDecimal(txtpagogs.Text) - modSesion.convertirDecimal(txtvueltogs.Text)); comando.Parameters.AddWithValue("@us", modSesion.convertirDecimal(txtpagous.Text) - modSesion.convertirDecimal(txtvueltous.Text)); comando.Parameters.AddWithValue("@rs", modSesion.convertirDecimal(txtpagors.Text) - modSesion.convertirDecimal(txtvueltors.Text)); comando.Parameters.AddWithValue("@pa", modSesion.convertirDecimal(txtpagops.Text) - modSesion.convertirDecimal(txtvueltops.Text)); comando.Parameters.AddWithValue("@ch", 0); comando.Parameters.AddWithValue("@tj", 0); comando.Parameters.AddWithValue("@cr", modSesion.convertirDecimal(txtpagoCr.Text) - modSesion.convertirDecimal(txtvueltoCr.Text)); comando.Parameters.AddWithValue("@id_cotizacion", idCotizacion); comando.Parameters.AddWithValue("@estado", "1"); int usr = Convert.ToInt32(modUsuario.VerificarIdUsuarioActivo()); comando.Parameters.AddWithValue("@user", usr); comando.ExecuteNonQuery(); // se inicia proceso 2: Actualizar estado de venta y saldo de venta decimal saldoVenta; string tipo_venta; if (modSesion.convertirDecimal(txtpagoCr.Text) == 0) // se verifica si pago no fue a credito { saldoVenta = 0; tipo_venta = "Contado"; } else { saldoVenta = modSesion.convertirDecimal(txtpagoCr.Text) - modSesion.convertirDecimal(txtvueltoCr.Text); tipo_venta = "Credito"; } sqlventa = "update db_ventas set Estado=2, TotalSaldo=@saldo,TipoDeVenta=@tipo where id= @id"; comando = new MySqlCommand(sqlventa, con); comando.Parameters.AddWithValue("@saldo", saldoVenta); comando.Parameters.AddWithValue("@id", txtId_operacion.Text); comando.Parameters.AddWithValue("@tipo", tipo_venta); comando.ExecuteNonQuery(); // se inicia proceso 3: Descontar stock de la venta cobrada int c, n; var consulta = new MySqlDataAdapter(); var resultado = new DataSet(); decimal cantidad; int idproducto; c = 0; sqlventa = ""; // se genera sql para capturar productos de la venta cobrada sqlventa = "select * from db_ventaitems where Id_Ventas = " + txtId_operacion.Text; consulta = new MySqlDataAdapter(sqlventa, con); consulta.Fill(resultado, "rsVenta"); while (c < resultado.Tables["rsVenta"].Rows.Count) { // se captura cantidad y codigo de producto de la consulta de la venta cantidad = Convert.ToDecimal(resultado.Tables["rsVenta"].Rows[c]["cantidad"]); idproducto = Convert.ToInt32(resultado.Tables["rsVenta"].Rows[c]["id_producto"]); // se genera sql para actualizar stock y se envia parametros sqlStock = "update db_productos set Stock = Stock - @cantidad where id=@idproducto"; comando = new MySqlCommand(sqlStock, con); comando.Parameters.AddWithValue("@cantidad", cantidad); comando.Parameters.AddWithValue("@idproducto", idproducto); comando.ExecuteNonQuery(); c = c + 1; } MensajeDeCheck mensajeDeCheck = new MensajeDeCheck(" Cobro Efectuado con exito"); mensajeDeCheck.ShowDialog(); frmComprobante.ShowDialog(); transaccion.Commit(); // finaliza procesos y aplica cambios en la base de datos Conexion_DB.CerraConexion(); preparaNuevaCaja(); modCaja.capturarNuevoNumeroCaja(); iniciarCobroVenta(); mostrarCotizacion(); } catch (MySqlException ex) { MessageBox.Show("Error al procesar cobro " + ex.Message); transaccion.Rollback(); } // si ocurre algun error no aplica cambios en la base de datos } }