// CORROBORADO public void RegistrarVenta(Venta ventaActual) { ventaActual.Fecha = DateTime.Now; Estado estadoVendido; estadoVendido = logicaEstado.CrearEstadoVendido(ventaActual); ventaActual.Vehiculo.Estado = estadoVendido; try { Comision comisionActual = datosComision.GetComisionActual(); if (comisionActual != null) { ventaActual.MontoComision = ventaActual.Vehiculo.ValorVenta * comisionActual.Porcentaje/100; } else { ventaActual.MontoComision = 0; } datosVenta.RegistrarVenta(ventaActual); } catch (Exception ex) { throw ex; } }
// CORROBORADO public void RegistrarVenta(Venta ventaActual) { SqlCommand command = connection.CreateCommand(); String query = "INSERT INTO Ventas (fecha, cliente_nroDoc, idVehiculo, empleado_nroDoc, montoComision, montoEfectivo, montoFinanciado, tasaInteresAnual, cantCuotas, montoCuota) VALUES "; query = query + "(@Fecha, @Cliente_nroDoc, @IdVehiculo, @Empleado_nroDoc, "; query = query + "@MontoComision, @MontoEfectivo, @MontoFinanciado, @TasaInteresAnual, @CantCuotas, @MontoCuota)"; command.CommandText = query; command.Parameters.Add("@Fecha", SqlDbType.DateTime).Value = ventaActual.Fecha; command.Parameters.Add("@Cliente_nroDoc", SqlDbType.NChar).Value = ventaActual.Cliente.NroDoc; command.Parameters.Add("@IdVehiculo", SqlDbType.Int).Value = ventaActual.Vehiculo.IdVehiculo; command.Parameters.Add("@Empleado_nroDoc", SqlDbType.NChar).Value = ventaActual.Empleado.NroDoc; command.Parameters.Add("@MontoComision", SqlDbType.Float).Value = ventaActual.MontoComision; command.Parameters.Add("@MontoEfectivo", SqlDbType.Float).Value = ventaActual.MontoEfectivo; command.Parameters.Add("@MontoFinanciado", SqlDbType.Float).Value = ventaActual.MontoFinanciado; command.Parameters.Add("@TasaInteresAnual", SqlDbType.Float).Value = ventaActual.TasaInteresAnual; command.Parameters.Add("@CantCuotas", SqlDbType.Int).Value = ventaActual.CantCuotas; command.Parameters.Add("@MontoCuota", SqlDbType.Float).Value = ventaActual.MontoCuota; try { connection.Open(); // Iniciar transaccion command.Transaction = connection.BeginTransaction(); // Ejecutar primera consulta command.ExecuteNonQuery(); // Insertar el nuevo estado del vehículo query = "INSERT INTO Estados (tipoEstado, fecha, idVehiculo) VALUES (@TipoEstado, @Fecha, @IdVehiculo)"; command.CommandText = query; command.Parameters.Add("@TipoEstado", SqlDbType.VarChar).Value = ventaActual.Vehiculo.Estado.TipoEstado.ToString(); // Las variables @Fecha e @IdVehiculo toman el mismo valor que en el INSERT del vehiculo command.ExecuteNonQuery(); // Commit de la transacción command.Transaction.Commit(); } catch (Exception ex) { Exception excepcionManejada = new Exception("Ha ocurrido un error al intentar registrar la venta. Por favor, vuelva a intentarlo.", ex); // Si ocurrio un error, realizar el rollback command.Transaction.Rollback(); throw excepcionManejada; } finally { connection.Close(); } }
public Estado CrearEstadoVendido(Venta ventaActual) { Estado estadoVendido = new Estado(); estadoVendido.Fecha = ventaActual.Fecha; estadoVendido.IdVehiculo = ventaActual.Vehiculo.IdVehiculo; estadoVendido.TipoEstado = Estado.TiposEstado.Vendido; return estadoVendido; }
public FormSeleccionarPersona(Venta ventaActual):base(Persona.eRol.Cliente) { VentaActual = ventaActual; Text = "Selección de Cliente"; btn_aceptar.Text = "Seleccionar"; btn_aceptar.Enabled = false; DeshabilitarEscrituraControles(); }
public FormSeleccionarVehiculo(Venta ventaActual) : this() { VentaActual = ventaActual; btn_aceptar.Text = "Seleccionar"; btn_aceptar.Enabled = false; btn_cancelar.Text = "Atrás"; Text = "Selección de Vehículo"; btn_registrarColor.Visible = false; btn_registrarMarca.Visible = false; btn_registrarModelo.Visible = false; btn_registrarVersion.Visible = false; }
public FormDatosPago(Venta venta):this() { logicaVenta = new LogicaVenta(); VentaActual = venta; lbl_total_editable.Text = Convert.ToString(VentaActual.Vehiculo.ValorVenta); lbl_montoRestante_editable.Text = Convert.ToString(VentaActual.Vehiculo.ValorVenta); montoVenta = VentaActual.Vehiculo.ValorVenta; // Inicialimente el monto sin asignar es igual al monto total de la venta montoSinAsignar = montoVenta; montoCuota = 0; lbl_montoCuota_editable.Text = "0"; nud_tasaInteresAnual.Enabled = false; nud_cantCuotas.Enabled = false; }
private void venderVehiculoToolStripMenuItem_Click(object sender, EventArgs e) { Venta ventaActual = new Venta(); ventaActual.Empleado = PersonaActual; FormSeleccionarPersona seleccionarPersona = new FormSeleccionarPersona(ventaActual); seleccionarPersona.MdiParent = this; seleccionarPersona.Show(); }
public frm_venderVehiculo(Venta ventaActual): this() { VentaActual = ventaActual; }