AerolineaFrba.Compra.Form6.cargarDatosDeCompra C# (CSharp) Method

cargarDatosDeCompra() private method

private cargarDatosDeCompra ( string codigoPNR ) : void
codigoPNR string
return void
        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;
            }
        }