Ejemplo n.º 1
0
        // 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;
            }
        }
Ejemplo n.º 2
0
        // 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();
            }
        }
Ejemplo n.º 3
0
        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;
        }
Ejemplo n.º 4
0
        public FormSeleccionarPersona(Venta ventaActual):base(Persona.eRol.Cliente)
        {
            VentaActual = ventaActual;

            Text = "Selección de Cliente";

            btn_aceptar.Text = "Seleccionar";
            btn_aceptar.Enabled = false;

            DeshabilitarEscrituraControles();
        }
Ejemplo n.º 5
0
        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;
        }
Ejemplo n.º 6
0
        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;
        }
Ejemplo n.º 7
0
        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();
        }
Ejemplo n.º 8
0
 public frm_venderVehiculo(Venta ventaActual): this()
 {
     VentaActual = ventaActual;
 }