Пример #1
0
        private void buttonBuscar_Click(object sender, EventArgs e)
        {
            this.listaPasajes.Clear();
            this.textBoxCodigo.Text = "";
            this.textBoxKgs.Text = "";
            this.textBoxPrecio.Text = "";

            if (validarCampos())
            {
                CompraDTO compra = new CompraDTO();
                compra.PNR =this.textBoxPnr.Text;
                this.dataGridView1.DataSource = CompraDAO.GetPasajesByPnr(compra);
                dataGridView1.Columns[1].Visible = false;
                dataGridView1.Columns[4].Visible = false;
                dataGridView1.Columns[5].Visible = false;
                dataGridView1.Columns[6].Visible = false;
                EncomiendaDTO unaEncomienda = new EncomiendaDTO();
                this.compra = compra;
                unaEncomienda = CompraDAO.GetEncomiendaByPnr(this.compra);
                if (unaEncomienda != null)
                {
                    this.textBoxCodigo.Text = unaEncomienda.Codigo.ToString();
                    this.textBoxKgs.Text = unaEncomienda.Kg.ToString();
                    this.textBoxPrecio.Text = unaEncomienda.Precio.ToString();
                }
            }
        }
Пример #2
0
        /// <summary>
        /// Cancela todos los pasajes y encomienda asociados a la compra
        /// </summary>
        /// <param name="unaCompra"></param>
        /// <returns></returns>
        public static bool Cancelar(CompraDTO unaCompra,string motivo)
        {
            using (SqlConnection conn = Conexion.Conexion.obtenerConexion())
            {
                SqlCommand com = new SqlCommand("[NORMALIZADOS].[Cancelar_Compra]", conn);
                com.CommandType = CommandType.StoredProcedure;

                com.Parameters.AddWithValue("@pnr", unaCompra.PNR);
                com.Parameters.AddWithValue("@motivo", motivo);
                return com.ExecuteNonQuery() > 0;
            }
        }
Пример #3
0
        /// <summary>
        /// Devuelve una lista de pasajes a partir de un PNR
        /// </summary>
        /// <param name="compra"></param>
        /// <returns></returns>
        public static List<PasajeDTO> GetPasajesByPnr(CompraDTO compra)
        {
            using (SqlConnection conn = Conexion.Conexion.obtenerConexion())
            {
                SqlCommand com = new SqlCommand("[NORMALIZADOS].[GetPasajesByPnr]", conn);
                com.CommandType = CommandType.StoredProcedure;

                com.Parameters.AddWithValue("@paramPnr", compra.PNR);
                SqlDataReader dataReader=com.ExecuteReader();

                return getPasajes(dataReader);
            }
        }
Пример #4
0
        /// <summary>
        /// Devuelve una encomienda con una compra con cierto PNR
        /// </summary>
        /// <param name="compra"></param>
        /// <returns></returns>
        public static EncomiendaDTO GetEncomiendaByPnr(CompraDTO compra)
        {
            using (SqlConnection conn = Conexion.Conexion.obtenerConexion())
            {
                SqlCommand com = new SqlCommand("[NORMALIZADOS].[GetEncomiendaByPnr]", conn);
                com.CommandType = CommandType.StoredProcedure;

                com.Parameters.AddWithValue("@paramPnr", compra.PNR);
                SqlDataReader dataReader = com.ExecuteReader();

                return getEncomiendas(dataReader).FirstOrDefault();
            }
        }
Пример #5
0
        /// <summary>
        /// Registra una compra
        /// </summary>
        /// <param name="compra"></param>
        /// <returns></returns>
        public static CompraDTO Save(CompraDTO compra)
        {
            using (SqlConnection conn = Conexion.Conexion.obtenerConexion())
            {
                SqlCommand com = new SqlCommand("[NORMALIZADOS].[SaveCompra]", conn);
                com.CommandType = CommandType.StoredProcedure;
                SqlParameter outPutPNR = new SqlParameter("@paramPNR", SqlDbType.NVarChar, 255) { Direction=ParameterDirection.Output};
                com.Parameters.Add(outPutPNR);
                SqlParameter outPutIdCompra = new SqlParameter("@paramIdCompra", SqlDbType.Int) { Direction = ParameterDirection.Output };
                com.Parameters.Add(outPutIdCompra);

                com.Parameters.AddWithValue("@paramComprador", compra.Comprador.IdCliente);
                com.Parameters.AddWithValue("@paramMedioPago",compra.MedioPago.IdTipoPago);
                com.Parameters.AddWithValue("@paramTarjeta",compra.TarjetaCredito.Numero);
                com.Parameters.AddWithValue("@paramViaje",compra.Viaje.Id);
                com.ExecuteNonQuery();

                CompraDTO retValue = new CompraDTO();
                retValue.PNR = (string)outPutPNR.Value;
                retValue.IdCompra = (int)outPutIdCompra.Value;

                return retValue;
            }
        }
Пример #6
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;
        }
Пример #7
0
 private void buttonCancTodo_Click(object sender, EventArgs e)
 {
     if (validarCampos())
     {
         if (!String.IsNullOrEmpty(textBoxMot.Text))
         {
             CompraDTO compra=new CompraDTO();
             compra.PNR=textBoxPnr.Text;
             if (CompraDAO.Cancelar(compra, this.textBoxMot.Text))
             {
                 MessageBox.Show("Se produjo la cancelacion total de la compra con exito");
             }
             else
             {
                 MessageBox.Show("No se pudo cancelar la compra de forma total");
             }
             this.Close();
         }
         else
         {
             errorProvider1.SetError(textBoxMot,"Ingrese un motivo");
         }
     }
 }