Beispiel #1
0
        private bool FinalizarTransaccion()
        {
            bool       retValue = true;
            ClienteDTO cliente  = new ClienteDTO();

            cliente.Dni = Convert.ToInt32(textBoxDNI.Text);
            CompraDTO compra = new CompraDTO();

            compra.Comprador = ClienteDAO.GetByDNI(cliente);
            compra.MedioPago = (TipoPagoDTO)comboBoxMedioPago.SelectedItem;
            TarjetaCreditoDTO tarjeta = new TarjetaCreditoDTO();

            tarjeta.Numero           = Convert.ToInt64(textBoxNro.Text);
            tarjeta.Codigo           = Convert.ToInt32(textBoxCodSeg.Text);
            tarjeta.FechaVencimiento = Convert.ToInt32(textBoxFechVenc.Text);
            tarjeta.TipoTarjeta      = (TipoTarjetaDTO)comboBoxTipoTarj.SelectedItem;
            compra.TarjetaCredito    = tarjeta;
            ViajeDTO viaje = new ViajeDTO();

            viaje.Id        = this.idViaje;
            compra.Viaje    = viaje;
            compra.IdCompra = 0;
            compra.PNR      = "0";
            try
            {
                TarjetaDAO.Save(tarjeta);
                this.compra = CompraDAO.Save(compra);

                if (string.IsNullOrEmpty(this.compra.PNR))
                {
                    MessageBox.Show("No se pudo realizar la compra");
                    retValue = false;
                }
                this.monto = 0;

                if (this.listaPasajeroButacas != null)
                {
                    foreach (Tuple <ClienteDTO, ButacaDTO> tupla in this.listaPasajeroButacas)
                    {
                        PasajeDTO pasaje = new PasajeDTO();
                        pasaje.Pasajero = tupla.Item1;
                        pasaje.Compra   = this.compra;
                        pasaje.Butaca   = tupla.Item2;
                        pasaje.Precio   = 0;

                        this.monto = PasajeDAO.Save(pasaje).Precio + this.monto;
                    }
                }
                if (this.clienteAcargoDeEncomienda != null)
                {
                    EncomiendaDTO encomienda = new EncomiendaDTO();
                    encomienda.Cliente = this.clienteAcargoDeEncomienda;
                    encomienda.Compra  = this.compra;
                    encomienda.Precio  = 0;
                    encomienda.Kg      = this.KgsDeEncomienda;

                    this.monto = EncomiendaDAO.Save(encomienda).Precio + this.monto;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(string.Format("Error al finalizar la transaccion: {0}", ex), "Error Compra", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            this.DialogResult = DialogResult.OK;
            return(retValue);
        }