private void cargarDatosDeCompra(string codigoPNR)
{
int cliCod;
int viajeCod;
int dni;
int tel;
DateTime fechaNac;
decimal precio;
decimal peso;
int butNro;
int encontrado;
int actualizar;
int dniTxt;
int.TryParse(txtDni.Text, out dniTxt);
DataTable tablaPasajes = new DataTable();
tablaPasajes.Columns.Add("Código", typeof(int));
tablaPasajes.Columns.Add("DNI", typeof(int));
tablaPasajes.Columns.Add("Nombre", typeof(string));
tablaPasajes.Columns.Add("Apellido", typeof(string));
tablaPasajes.Columns.Add("Dirección", typeof(string));
tablaPasajes.Columns.Add("Teléfono", typeof(int));
tablaPasajes.Columns.Add("Mail", typeof(string));
tablaPasajes.Columns.Add("Fecha de nacimiento", typeof(DateTime));
tablaPasajes.Columns.Add("Código de viaje", typeof(int));
tablaPasajes.Columns.Add("Importe", typeof(decimal));
tablaPasajes.Columns.Add("Butaca", typeof(int));
tablaPasajes.Columns.Add("Matrícula", typeof(string));
tablaPasajes.Columns.Add("Encontrado", typeof(bool));
tablaPasajes.Columns.Add("Actualizar", typeof(bool));
tablaPasajes.Columns.Add("ES_COMPRADOR", typeof(int));
foreach (DataGridViewRow row in pasajes.Rows)
{
int.TryParse(row.Cells["Código"].Value.ToString(), out cliCod);
int.TryParse(row.Cells["Código de viaje"].Value.ToString(), out viajeCod);
int.TryParse(row.Cells["DNI"].Value.ToString(), out dni);
int.TryParse(row.Cells["Teléfono"].Value.ToString(), out tel);
DateTime.TryParse(row.Cells["Fecha de nacimiento"].Value.ToString(), out fechaNac);
precio = enDecimal(row.Cells["Importe"].Value.ToString());
int.TryParse(row.Cells["Butaca"].Value.ToString(), out butNro);
int esComprador;
totalAAbonar = totalAAbonar + precio;
if ((bool)row.Cells["Encontrado"].Value)
{
encontrado = 1;
}
else
{
encontrado = 0;
}
if ((bool)row.Cells["Actualizar"].Value)
{
actualizar = 1;
}
else
{
actualizar = 0;
}
if (dni == dniTxt)
{
esComprador = 1;
}
else
{
esComprador = 0;
}
tablaPasajes.Rows.Add(cliCod,dni,
row.Cells["Nombre"].Value.ToString(),
row.Cells["Apellido"].Value.ToString(),
row.Cells["Dirección"].Value.ToString(),
tel,
row.Cells["Mail"].Value.ToString(),
fechaNac,viajeCod, precio, butNro,
row.Cells["Matrícula"].Value.ToString(),
encontrado, actualizar, esComprador);
}
DataTable tablaEncomiendas = new DataTable();
tablaEncomiendas.Columns.Add("Código", typeof(int));
tablaEncomiendas.Columns.Add("DNI", typeof(int));
tablaEncomiendas.Columns.Add("Nombre", typeof(string));
tablaEncomiendas.Columns.Add("Apellido", typeof(string));
tablaEncomiendas.Columns.Add("Dirección", typeof(string));
tablaEncomiendas.Columns.Add("Teléfono", typeof(int));
tablaEncomiendas.Columns.Add("Mail", typeof(string));
tablaEncomiendas.Columns.Add("Fecha de nacimiento", typeof(DateTime));
tablaEncomiendas.Columns.Add("Código de viaje", typeof(int));
tablaEncomiendas.Columns.Add("Importe", typeof(decimal));
tablaEncomiendas.Columns.Add("Kilos", typeof(decimal));
tablaEncomiendas.Columns.Add("Matrícula", typeof(string));
tablaEncomiendas.Columns.Add("Encontrado", typeof(bool));
tablaEncomiendas.Columns.Add("Actualizar", typeof(bool));
tablaEncomiendas.Columns.Add("ES_COMPRADOR", typeof(int));
foreach (DataGridViewRow row in encomiendas.Rows)
{
int.TryParse(row.Cells["Código"].Value.ToString(), out cliCod);
int.TryParse(row.Cells["Código de viaje"].Value.ToString(), out viajeCod);
int.TryParse(row.Cells["DNI"].Value.ToString(), out dni);
int.TryParse(row.Cells["Teléfono"].Value.ToString(), out tel);
DateTime.TryParse(row.Cells["Fecha de nacimiento"].Value.ToString(), out fechaNac);
precio = enDecimal(row.Cells["Importe"].Value.ToString());
peso = enDecimal(row.Cells["Kilos"].Value.ToString());
int esComprador;
totalAAbonar = totalAAbonar + precio;
if ((bool)row.Cells["Encontrado"].Value)
{
encontrado = 1;
}
else
{
encontrado = 0;
}
if ((bool)row.Cells["Actualizar"].Value)
{
actualizar = 1;
}
else
{
actualizar = 0;
}
if (dni == dniTxt)
{
esComprador = 1;
}
else
{
esComprador = 0;
}
tablaEncomiendas.Rows.Add(cliCod,dni,
row.Cells["Nombre"].Value.ToString(),
row.Cells["Apellido"].Value.ToString(),
row.Cells["Dirección"].Value.ToString(),
tel,
row.Cells["Mail"].Value.ToString(),
fechaNac,viajeCod, precio, peso,
row.Cells["Matrícula"].Value.ToString(),
encontrado, actualizar, esComprador);
}
int vencMes;
int vencAnio;
int cuotas;
int.TryParse(cboMeses.Text, out vencMes);
int.TryParse(cboAnios.Text, out vencAnio);
int.TryParse(cboCuotas.Text, out cuotas);
SQLManager manager = new SQLManager();
if (tarjetaNueva)
{
manager = manager.generarSP("ingresarDatosDeCompra")
.agregarTableSP("@TablaPasajes", tablaPasajes)
.agregarTableSP("@TablaEncomiendas", tablaEncomiendas)
.agregarIntSP("@clienteCodigo", clienteCodigo)
.agregarIntSP("@dni", txtDni)
.agregarStringSP("@ape", txtApe)
.agregarStringSP("@nombre", txtNom)
.agregarStringSP("@direccion", txtDire)
.agregarStringSP("@mail", txtMail)
.agregarFechaSP("@fechanac", dp)
.agregarIntSP("@telefono", txtTel)
.agregarBooleanoSP("@encontroComprador", encontroCliente)
.agregarBooleanoSP("@actualizarComprador", actualizarTabla)
.agregarStringSP("@codigoPNR", codigoPNR)
.agregarIntSP("@cuotas", cuotas)
.agregarStringSP("@formaDePago", cboFormaPago)
.agregarInt64SP("@nroTarjeta", txtNroTarjeta)
.agregarIntSP("@codSeg", txtCodSeg)
.agregarIntSP("@vencMes", vencMes)
.agregarIntSP("@vencAnio", vencAnio)
.agregarStringSP("@tipoTarjeta", cboTipoTarjeta)
.agregarBooleanoSP("@agregarTarjeta", tarjetaNueva);
}
else
{
if (esEfectivo)
{
manager = manager.generarSP("ingresarDatosDeCompra")
.agregarTableSP("@TablaPasajes", tablaPasajes)
.agregarTableSP("@TablaEncomiendas", tablaEncomiendas)
.agregarIntSP("@clienteCodigo", clienteCodigo)
.agregarIntSP("@dni", txtDni)
.agregarStringSP("@ape", txtApe)
.agregarStringSP("@nombre", txtNom)
.agregarStringSP("@direccion", txtDire)
.agregarStringSP("@mail", txtMail)
.agregarFechaSP("@fechanac", dp)
.agregarIntSP("@telefono", txtTel)
.agregarBooleanoSP("@encontroComprador", encontroCliente)
.agregarBooleanoSP("@actualizarComprador", actualizarTabla)
.agregarStringSP("@codigoPNR", codigoPNR)
.agregarIntSP("@cuotas", 0)
.agregarStringSP("@formaDePago", cboFormaPago)
.agregarInt64SP("@nroTarjeta", 0)
.agregarIntSP("@codSeg", 0)
.agregarIntSP("@vencMes", 0)
.agregarIntSP("@vencAnio", 0)
.agregarStringSP("@tipoTarjeta", "nada")
.agregarBooleanoSP("@agregarTarjeta", tarjetaNueva);
}
else
{
manager = manager.generarSP("ingresarDatosDeCompra")
.agregarTableSP("@TablaPasajes", tablaPasajes)
.agregarTableSP("@TablaEncomiendas", tablaEncomiendas)
.agregarIntSP("@clienteCodigo", clienteCodigo)
.agregarIntSP("@dni", txtDni)
.agregarStringSP("@ape", txtApe)
.agregarStringSP("@nombre", txtNom)
.agregarStringSP("@direccion", txtDire)
.agregarStringSP("@mail", txtMail)
.agregarFechaSP("@fechanac", dp)
.agregarIntSP("@telefono", txtTel)
.agregarBooleanoSP("@encontroComprador", encontroCliente)
.agregarBooleanoSP("@actualizarComprador", actualizarTabla)
.agregarStringSP("@codigoPNR", codigoPNR)
.agregarIntSP("@cuotas", cuotas)
.agregarStringSP("@formaDePago", cboFormaPago)
.agregarInt64SP("@nroTarjeta", txtNroTarjeta)
.agregarIntSP("@codSeg", txtCodSeg)
.agregarIntSP("@vencMes", vencMes)
.agregarIntSP("@vencAnio", vencAnio)
.agregarStringSP("@tipoTarjeta", cboTipoTarjeta)
.agregarBooleanoSP("@agregarTarjeta", tarjetaNueva);
}
}
try
{
manager.ejecutarSP();
MessageBox.Show("Se realizo la compra con éxito. Su codigo de PNR: " + codigoPNR + ". Monto a abonar: " + totalAAbonar.ToString() + ".", "Compra de pasajes y/o encomiendas", MessageBoxButtons.OK);
}
catch
{
MessageBox.Show("Fallo en la compra", "Fallo Compra", MessageBoxButtons.OK);
this.Close();
return;
}
}