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(); } } }
/// <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; } }
/// <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); } }
/// <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(); } }
/// <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; } }
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; }
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"); } } }