예제 #1
0
 public CompraDetalle(ComprarOferta unForm, Compra unaCompra, Cupon unCupon)
 {
     InitializeComponent();
     form_anterior = unForm;
     compra        = unaCompra;
     cupon         = unCupon;
 }
예제 #2
0
        private void btnComprar_Click(object sender, EventArgs e)
        {
            if (this.siguiente())
            {
                Oferta oferta_seleccionada = this.get_oferta_seleccionada();
                int    cantidad_ingresada  = int.Parse(numCantidad.Value.ToString());

                if (cantidad_ingresada <= 0)
                {
                    MessageBox.Show("La cantidad ingresada es invalida");
                    return;
                }

                if (cantidad_ingresada <= oferta_seleccionada.cantidad_disponible)
                {
                    if (cantidad_ingresada <= oferta_seleccionada.cantidad_max_cliente)
                    {
                        double total_importe = oferta_seleccionada.precio_oferta * cantidad_ingresada;
                        if (cliente.credito >= (total_importe))
                        {
                            if (MessageBox.Show("¿Está a punto de comprar " + cantidad_ingresada.ToString() + " unidad/es de " + oferta_seleccionada.descripcion + " por $" + total_importe + " en total, desea continuar?", "ComprarOferta", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
                            {
                                Compra compra = new Compra();
                                compra.oferta   = oferta_seleccionada;
                                compra.cliente  = cliente;
                                compra.fecha    = FechaAplicacion.get();
                                compra.cantidad = cantidad_ingresada;

                                Cupon cupon = new Cupon();
                                //cupon.codigo = this.obtenerCodigoCuponAleatorio().ToString();
                                cupon.fecha_vencimiento = FechaAplicacion.get().AddDays(15); //15 dias desde la compra
                                cupon.canjeado          = false;

                                if (CompraFacadeDAO.agregarCompraYGenerarCupon(compra, cupon))
                                {
                                    if (form_clientes != null)
                                    {
                                        form_clientes.cargarDatos();
                                    }
                                    (new CompraDetalle(this, compra, cupon)).ShowDialog();
                                }
                                else
                                {
                                    MessageBox.Show("Error al realizar la compra");
                                }
                            }
                        }
                        else
                        {
                            MessageBox.Show("No dispone de credito suficiente para realizar la compra");
                        }
                    }
                    else
                    {
                        MessageBox.Show("La cantidad ingresada supera la cantidad maxima por cliente de la oferta");
                    }
                }
                else
                {
                    MessageBox.Show("La cantidad ingresada supera la cantidad disponible de la oferta");
                }
            }
            else
            {
                MessageBox.Show("Datos invalidos");
            }
        }