예제 #1
0
        private void acceptButton_Click(object sender, EventArgs e)
        {
            if (String.IsNullOrEmpty(matriculaTextBox.Text))
            {
                MessageBox.Show("Debe ingresarse una matricula para poder realizar el registro");
            }
            else
            {
                DbComunicator dbStoreProcedure = new DbComunicator();
                SqlCommand storeConsulta = dbStoreProcedure.GetStoreProcedure("TS.spConsultarViaje");
                SqlParameter cantidadDeViajes = storeConsulta.Parameters.Add("RetVal", SqlDbType.Int);
                DateTime dateSalida = salidaDatePicker.Value.Date + salidaTimePicker.Value.TimeOfDay;
                DateTime dateLlegada = llegadaDayPicker.Value.Date + llegadaTimePicker.Value.TimeOfDay;
                cantidadDeViajes.Direction = ParameterDirection.ReturnValue;
                storeConsulta.Parameters.Add(new SqlParameter("@Ciudad_Origen", origenComboBox.SelectedValue));
                storeConsulta.Parameters.Add(new SqlParameter("@Ciudad_Destino", llegadaComboBox.SelectedValue));
                storeConsulta.Parameters.Add(new SqlParameter("@Aero_Matricula", matriculaTextBox.Text));
                storeConsulta.Parameters.Add(new SqlParameter("@Fecha_Salida", dateSalida));
                storeConsulta.Parameters.Add(new SqlParameter("@Fecha_Llegada", dateLlegada));
                storeConsulta.ExecuteNonQuery();

                if ((int)cantidadDeViajes.Value == 1)
                {
                    SqlCommand storeProcedure = dbStoreProcedure.GetStoreProcedure("TS.spRegistrarLlegada");
                    SqlParameter returnParameter = storeProcedure.Parameters.Add("RetVal", SqlDbType.Int);
                    returnParameter.Direction = ParameterDirection.ReturnValue;
                    storeProcedure.Parameters.Add(new SqlParameter("@Ciudad_Origen", origenComboBox.SelectedValue));
                    storeProcedure.Parameters.Add(new SqlParameter("@Ciudad_Destino", llegadaComboBox.SelectedValue));
                    storeProcedure.Parameters.Add(new SqlParameter("@Aero_Matricula", matriculaTextBox.Text));
                    storeProcedure.Parameters.Add(new SqlParameter("@Fecha_Salida", dateSalida));
                    storeProcedure.Parameters.Add(new SqlParameter("@Fecha_Llegada", dateLlegada));
                    storeProcedure.ExecuteNonQuery();
                    MessageBox.Show("Registro de llegada realizado");
                }

                if ((int)cantidadDeViajes.Value == 0)
                {
                    MessageBox.Show("No hay ningun viaje que cumpla con los parametros especificados");
                }

                if ((int)cantidadDeViajes.Value == -1)
                {
                    MessageBox.Show("La ciudad de llegada seleccionada no concuerda con la establecida para el viaje");
                }

                if ((int)cantidadDeViajes.Value == -2)
                {
                    MessageBox.Show("La fecha de llegada debe ser posterior a la de salida");
                }
            }
        }
예제 #2
0
        private void acceptButton_Click(object sender, EventArgs e)
        {
            if (String.IsNullOrEmpty(cardNumberTextBoxt.Text) || String.IsNullOrEmpty(cardCodeTextBox.Text) || String.IsNullOrEmpty(cardDateTextBox.Text))
            {
                MessageBox.Show("Ningun campo debe estar vacio para poder llevar a cabo la edición");
            }
            else if (this.validarFecha()){
                DbComunicator dbStoreProcedure = new DbComunicator();
                SqlCommand storeProcedure = dbStoreProcedure.GetStoreProcedure("TS.spEditarTarjeta");
                SqlParameter returnParameter = storeProcedure.Parameters.Add("RetVal", SqlDbType.Int);
                returnParameter.Direction = ParameterDirection.ReturnValue;
                storeProcedure.Parameters.Add(new SqlParameter("@Tar_Numero", cardNumberTextBoxt.Text));
                storeProcedure.Parameters.Add(new SqlParameter("@Tar_Fecha_Vencimiento", cardDateTextBox.Text));
                storeProcedure.Parameters.Add(new SqlParameter("@Tar_Codigo_Seguridad", cardCodeTextBox.Text));
                storeProcedure.Parameters.Add(new SqlParameter("@TipoTar_Cod", cardEmitterComboBox.SelectedValue.ToString()));
                storeProcedure.ExecuteNonQuery();
                dbStoreProcedure.CerrarConexion();

                if ((int)returnParameter.Value != 0 && (int)returnParameter.Value != -1)
                {
                    MessageBox.Show("Error inesperado");
                }

                if ((int)returnParameter.Value == 0)
                {
                    MessageBox.Show("Edición Realizada");
                    this.Close();
                }
            }
        }
예제 #3
0
        private void searchButton_Click(object sender, EventArgs e)
        {
            DbComunicator db = new DbComunicator();

            if (dniComboBox.SelectedValue != null)
            {

                string hoy = Properties.Settings.Default.FechaSistema.ToString();

                string queryMillas = "SELECT M.Mil_Fecha Fecha, M.Mil_Cantidad Cantidad";
                queryMillas = queryMillas + " FROM TS.Milla as M WHERE M.Cli_Cod = " + dniComboBox.SelectedValue.ToString();
                queryMillas = queryMillas + " AND M.Mil_Valida = 1 AND DATEDIFF(DAY, M.Mil_Fecha, '" + hoy + "') <= 365";
                queryMillas = queryMillas + " ORDER BY M.Mil_Fecha DESC";
                millasGridView.DataSource = db.GetDataAdapter(queryMillas).Tables[0];

                string queryCompras = "SELECT C.Canje_Fecha Fecha, P.Prod_Nombre Producto, C.Canje_Cantidad_Prod Cantidad, C.Canje_Total Total ";
                queryCompras = queryCompras + " FROM TS.Canje as C, TS.Producto as P WHERE C.Cli_Cod = " + dniComboBox.SelectedValue.ToString();
                queryCompras = queryCompras + " AND C.Prod_Cod = P.Prod_Cod AND DATEDIFF(DAY, C.Canje_Fecha, '" + hoy + "') <= 365";
                queryCompras = queryCompras + " ORDER BY C.Canje_Fecha DESC";
                comprasGridView.DataSource = db.GetDataAdapter(queryCompras).Tables[0];

                SqlCommand storeProcedure = db.GetStoreProcedure("TS.fnConsultarSaldoMillas");
                SqlParameter returnParameter = storeProcedure.Parameters.Add("RetVal", SqlDbType.Int);
                returnParameter.Direction = ParameterDirection.ReturnValue;
                storeProcedure.Parameters.Add(new SqlParameter("@Hoy", hoy));
                storeProcedure.Parameters.Add(new SqlParameter("@Cli_Cod", dniComboBox.SelectedValue.ToString()));
                storeProcedure.ExecuteNonQuery();
                db.CerrarConexion();

                saldoLabel.Text = "Su saldo es de: " + (int)returnParameter.Value;
            }
            else {
                MessageBox.Show("Debe seleccionar un cliente.");
            }
        }
예제 #4
0
        private void changeButton_Click(object sender, EventArgs e)
        {
            if(clienteComboBox.SelectedValue == null){
                MessageBox.Show("Debe seleccionar un cliente para poder realizar el canje");
            }
            else if (String.IsNullOrEmpty(quantityTextBox.Text)) {
                MessageBox.Show("Debe ingresar una cantidad para poder realizar el canje");
            }
            else if (Convert.ToInt32(quantityTextBox.Text) <= 0) {
                MessageBox.Show("La cantidad ingresada debe ser mayor a 0.");
            }
            else
            {
                DbComunicator dbStoreProcedure = new DbComunicator();
                SqlCommand storeProcedure = dbStoreProcedure.GetStoreProcedure("TS.spRegistrarCanje");
                SqlParameter returnParameter = storeProcedure.Parameters.Add("RetVal", SqlDbType.Int);
                returnParameter.Direction = ParameterDirection.ReturnValue;
                storeProcedure.Parameters.Add(new SqlParameter("@Cli_Cod", clienteComboBox.SelectedValue.ToString()));
                storeProcedure.Parameters.Add(new SqlParameter("@Canje_Fecha", Properties.Settings.Default.FechaSistema));
                storeProcedure.Parameters.Add(new SqlParameter("@Prod_Cod", productoComboBox.SelectedValue.ToString()));
                storeProcedure.Parameters.Add(new SqlParameter("@Canje_Cantidad_Prod", quantityTextBox.Text));
                storeProcedure.ExecuteNonQuery();
                dbStoreProcedure.CerrarConexion();

                if ((int)returnParameter.Value == -1)
                {
                    MessageBox.Show("No hay suficiente stock del producto elegido");
                }

                if ((int)returnParameter.Value == 0)
                {
                    MessageBox.Show("El cliente no tiene saldo suficiente");
                }

                if ((int)returnParameter.Value > 0)
                {
                    MessageBox.Show("Canje Realizado");
                }
            }
        }
예제 #5
0
        private void acceptButton_Click(object sender, EventArgs e)
        {
            if (String.IsNullOrEmpty(dniTextBox.Text) || String.IsNullOrEmpty(fullNameTextBox.Text) || String.IsNullOrEmpty(phoneTextBox.Text) || String.IsNullOrEmpty(addressTextBox.Text) || String.IsNullOrEmpty(mailTextBox.Text))
            {
                MessageBox.Show("Todos los campos deben ser completados para poder llevar a cabo la edición.");
            }
            else {
                DbComunicator dbStoreProcedure = new DbComunicator();
                SqlCommand storeProcedure = dbStoreProcedure.GetStoreProcedure("TS.spEditarCliente");
                SqlParameter returnParameter = storeProcedure.Parameters.Add("RetVal", SqlDbType.Int);
                returnParameter.Direction = ParameterDirection.ReturnValue;
                storeProcedure.Parameters.Add(new SqlParameter("@Cli_Cod", Convert.ToInt64(cliCod)));
                storeProcedure.Parameters.Add(new SqlParameter("@Cli_DNI", dniTextBox.Text));
                storeProcedure.Parameters.Add(new SqlParameter("@Cli_Nombre", fullNameTextBox.Text));
                storeProcedure.Parameters.Add(new SqlParameter("@Cli_Mail", mailTextBox.Text));
                storeProcedure.Parameters.Add(new SqlParameter("@Cli_Tel", phoneTextBox.Text));
                storeProcedure.Parameters.Add(new SqlParameter("@Cli_Direccion", addressTextBox.Text));
                storeProcedure.Parameters.Add(new SqlParameter("@Cli_Fecha_Nacimiento", bornDateTimePicker.Value));
                storeProcedure.ExecuteNonQuery();
                dbStoreProcedure.CerrarConexion();

                if ((int)returnParameter.Value == -1)
                {
                    MessageBox.Show("Ya existe un cliente con el DNI especificado.");
                }

                if ((int)returnParameter.Value != 0 && (int)returnParameter.Value != -1)
                {
                    MessageBox.Show("Error inesperado");
                }

                if ((int)returnParameter.Value == 0)
                {
                    MessageBox.Show("Edición Realizada");
                    this.Close();
                }
            }
        }
예제 #6
0
        private void acceptButton_Click(object sender, EventArgs e)
        {
            DbComunicator dbStoreProcedure = new DbComunicator();
            SqlCommand storeProcedure = dbStoreProcedure.GetStoreProcedure("TS.spCancelarCompra");
            SqlParameter returnParameter = storeProcedure.Parameters.Add("RetVal", SqlDbType.BigInt);
            returnParameter.Direction = ParameterDirection.ReturnValue;
            storeProcedure.Parameters.Add(new SqlParameter("@Com_PNR", pnrTextBox.Text));
            storeProcedure.Parameters.Add(new SqlParameter("@Can_Fecha", Properties.Settings.Default.FechaSistema));
            storeProcedure.Parameters.Add(new SqlParameter("@Can_Motivo", motivoTextBox.Text));

            DataTable pasajes = new DataTable();
            pasajes.Columns.Add("Pas_Cod", typeof(double));

            if (pasajesGroupBox.Enabled) {
                foreach (DataGridViewRow row in pasajeGridView.SelectedRows)
                {
                    pasajes.Rows.Add(row.Cells[0].Value);
                }
            }

            int encCod = 0;

            if (encomiendaGroupBox.Enabled && encomiendaGridView.SelectedRows.Count > 0) {
                encCod = Convert.ToInt32(encomiendaGridView.SelectedRows[0].Cells[0].Value);
            }

            storeProcedure.Parameters.Add(new SqlParameter("@Enc_Cod", encCod));
            storeProcedure.Parameters.Add(new SqlParameter("@ListaPasajes", pasajes));

            storeProcedure.ExecuteNonQuery();
            dbStoreProcedure.CerrarConexion();

            if ((int)returnParameter.Value == 0)
            {
                MessageBox.Show("Cancelación realiza con éxito.");
                fillRows();
            }
        }
예제 #7
0
        public DatosPasajeForm(int viajCod, DataGridView pasajeGridView, List<int> butacasReservadas)
        {
            // TODO: Complete member initialization
            InitializeComponent();
            this.pasajeGridView = pasajeGridView;
            this.butacaReservada = 0;
            this.viajCod = viajCod;
            acceptButton.Enabled = false;
            string butacasR = "";
            butacaComboBox.DropDownStyle = ComboBoxStyle.DropDownList;

            DbComunicator db = new DbComunicator();
            SqlCommand storeProcedure = db.GetStoreProcedure("TS.fnGetPrecioPasaje");
            SqlParameter returnParameter = storeProcedure.Parameters.Add("RetVal", SqlDbType.Decimal);
            returnParameter.Direction = ParameterDirection.ReturnValue;
            storeProcedure.Parameters.Add(new SqlParameter("@Viaj_Cod", viajCod));
            storeProcedure.ExecuteNonQuery();
            db.CerrarConexion();

            precioTextBox.Text = Convert.ToDecimal(returnParameter.Value).ToString();

            foreach (var butaca in butacasReservadas)
            {
                butacasR += " AND B.But_Cod != " + butaca + " ";
            }

            string queryButacas = "SELECT B.But_Cod, CAST (B.But_Piso AS nvarchar(255)) + ' ' + CAST (B.But_Numero AS nvarchar(255)) + ' ' + B.But_Tipo But_Label FROM TS.Butaca as B, TS.Viaje as V ";
            queryButacas += "WHERE B.But_Cod NOT IN (SELECT But_Cod FROM TS.Pasaje as P WHERE P.Can_Cod IS NULL AND P.Viaj_Cod = "+ viajCod + ") ";
            queryButacas += "AND B.Aero_Num = V.Aero_Num AND V.Viaj_Cod = " + viajCod + " " + butacasR;
            queryButacas += "ORDER BY B.But_Piso ASC, B.But_Numero ASC";
            DbComunicator db2 = new DbComunicator();
            butacaComboBox.DataSource = new BindingSource(db2.GetQueryDictionary(queryButacas, "But_Cod", "But_Label"), null);
            butacaComboBox.DisplayMember = "Value";
            butacaComboBox.ValueMember = "Key";
            db2.CerrarConexion();
        }
        private void acceptButton_Click(object sender, EventArgs e)
        {
            DbComunicator dbStoreProcedure = new DbComunicator();

            if (encomiendaCheckBox.Checked && !String.IsNullOrEmpty(encomiendaInput.Text)) {
                if (Convert.ToInt32(encomiendaInput.Text) <= 0)
                {
                    MessageBox.Show("Los kgs para encomienda deben ser mayor a 0");
                }
                else {
                    SqlCommand funcionEncomienda = dbStoreProcedure.GetStoreProcedure("TS.fnConsultarKgs");
                    SqlParameter returnFuncionEncomienda = funcionEncomienda.Parameters.Add("RetVal", SqlDbType.Int);
                    returnFuncionEncomienda.Direction = ParameterDirection.ReturnValue;
                    funcionEncomienda.Parameters.Add(new SqlParameter("@Viaj_Cod", Convert.ToInt32(vueloSeleccionado.Cells[0].Value.ToString())));
                    funcionEncomienda.Parameters.Add(new SqlParameter("@Kgs", Convert.ToInt32(encomiendaInput.Text)));
                    funcionEncomienda.ExecuteNonQuery();

                    if ((int)returnFuncionEncomienda.Value != 0)
                    {
                        MessageBox.Show("No hay suficientes kgs disponibles para responder a su pedido");
                        this.encomiendaHabilitada = false;

                    }
                    else
                    {
                        this.encomiendaHabilitada = true;
                    }
                }
            }

            if (pasajeCheckBox.Checked && !String.IsNullOrEmpty(pasajesInput.Text))
            {
                if (Convert.ToInt32(pasajesInput.Text) <= 0)
                {
                    MessageBox.Show("Se debe ingresar un número mayor a 0.");
                }
                else {
                    SqlCommand funcionButacas = dbStoreProcedure.GetStoreProcedure("TS.fnConsultarButacas");
                    SqlParameter returnFuncionButacas = funcionButacas.Parameters.Add("RetVal", SqlDbType.Int);
                    returnFuncionButacas.Direction = ParameterDirection.ReturnValue;
                    funcionButacas.Parameters.Add(new SqlParameter("@Viaj_Cod", Convert.ToInt32(vueloSeleccionado.Cells[0].Value.ToString())));
                    funcionButacas.Parameters.Add(new SqlParameter("@Cantidad", Convert.ToInt32(pasajesInput.Text)));
                    funcionButacas.ExecuteNonQuery();

                    if ((int)returnFuncionButacas.Value != 0)
                    {
                        MessageBox.Show("No hay suficientes butacas disponibles para responder a su pedido");
                        this.pasajeHabilitado = false;
                    }
                    else
                    {
                        this.pasajeHabilitado = true;
                    }
                }

            }

            dbStoreProcedure.CerrarConexion();

            this.habilitado = this.pasajeHabilitado || this.encomiendaHabilitada;

            if (this.habilitado) {
                if (pasajeCheckBox.Checked && !String.IsNullOrEmpty(pasajesInput.Text))
                {
                    this.pasajesHabilitados = Convert.ToInt32(pasajesInput.Text);
                }

                if (encomiendaCheckBox.Checked && !String.IsNullOrEmpty(encomiendaInput.Text))
                {
                    this.kgsHabilitados = Convert.ToDouble(encomiendaInput.Text);
                }

                this.Close();

            }
        }
예제 #9
0
 private void RemplazoDeAeronaveDesdeHasta(string aeronum, string fecha1, string fecha2)
 {
     DialogResult dialogResult = MessageBox.Show("Esta aeronave tiene viajes pendientes de realizar ¿quiere buscar un remplazo de la aeronave?", "Confirmación", MessageBoxButtons.YesNo);
     if (dialogResult == DialogResult.Yes)
     {
         db = new DbComunicator();
         db.EjecutarQuery("SELECT TS.fnAeronavesParaRemplazarA(" + aeronum + ") as Cantidad");
         db.getLector().Read();
         if (Convert.ToInt16(db.getLector()["Cantidad"].ToString()) > 0) RemplazarEnViajesDesdeHasta(aeronum, fecha1, fecha2);
         else
         {
             MessageBox.Show("No existe aeronave que pueda remplazar la aeronave actual");
             AgregarAeronaveRemplazo form = new AgregarAeronaveRemplazo(DGV_aeronave.SelectedRows[0]);
             form.ShowDialog();
             this.RemplazoDeAeronaveDesdeHasta(aeronum, fecha1, fecha2);
         }
     }
     if (dialogResult == DialogResult.No){
         DialogResult dialogResult2 = MessageBox.Show("¿Desea cancelar los vuelos pendientes?", "Confirmación", MessageBoxButtons.YesNo);
         if (dialogResult2 == DialogResult.Yes){
             DbComunicator db5 = new DbComunicator();
             SqlCommand spCancelacionViajes = db5.GetStoreProcedure("TS.spCancelacionViajesDesdeHasta");
             spCancelacionViajes.Parameters.Add(new SqlParameter("@Aero", aeronum));
             spCancelacionViajes.Parameters.Add(new SqlParameter("@Desde", Convert.ToDateTime(fecha1)));
             spCancelacionViajes.Parameters.Add(new SqlParameter("@Hasta", Convert.ToDateTime(fecha2)));
             spCancelacionViajes.Parameters.Add(new SqlParameter("@HOY", Convert.ToDateTime(AerolineaFrba.Properties.Settings.Default.FechaSistema)));
             spCancelacionViajes.ExecuteNonQuery();
             MessageBox.Show("Ya se cancelaron los viajes pendientes de la aeronave: " + aeronum);
         }
     }
 }
예제 #10
0
 private void RemplazarEnViajeDesdeHasta(string aeronum, string fecha1, string fecha2, string viaje)
 {
     DbComunicator db2 = new DbComunicator();
     db2.EjecutarQuery("SELECT TS.fnAeronavesParaRemplazarAEn(" + aeronum + "," + viaje + ") as Cantidad");
     db2.getLector().Read();
     if (Convert.ToInt16(db2.getLector()["Cantidad"].ToString()) > 0)
     {
         DbComunicator db3 = new DbComunicator();
         db3.EjecutarQuery("SELECT TOP 1 A2.Aero_Num as AeroFutura FROM TS.Aeronave AS A, TS.Aeronave AS A2 WHERE A.Aero_Num=" + aeronum.ToString() + " AND A.Aero_Num!=A2.Aero_Num AND A2.Aero_Fabricante=A.Aero_Fabricante AND A.Aero_Servicio=A2.Aero_Servicio AND A2.Aero_Baja_Fuera_De_Servicio=0 and A2.Aero_Baja_Vida_Util=0 AND A2.Aero_Borrado=0");
         db3.getLector().Read();
         string aerofutura = db3.getLector()["AeroFutura"].ToString();
         DbComunicator db4 = new DbComunicator();
         SqlCommand spRemplazarAeroEn = db4.GetStoreProcedure("TS.spRemplazarAeroEnDesdeHasta");
         spRemplazarAeroEn.Parameters.Add(new SqlParameter("@Aero", aeronum));
         spRemplazarAeroEn.Parameters.Add(new SqlParameter("@Desde", Convert.ToDateTime(fecha1)));
         spRemplazarAeroEn.Parameters.Add(new SqlParameter("@Hasta", Convert.ToDateTime(fecha2)));
         spRemplazarAeroEn.Parameters.Add(new SqlParameter("@AeroFutura", aerofutura));
         spRemplazarAeroEn.ExecuteNonQuery();
         MessageBox.Show("Ya se remplazo la aeronave " + aeronum + " por la aeronave " + aerofutura + " en el viaje " + viaje);
     }
     else
     {
         MessageBox.Show("No existe aeronave que pueda remplazar la aeronave actual en el viaje: " + viaje);
         AgregarAeronaveRemplazo form = new AgregarAeronaveRemplazo(DGV_aeronave.SelectedRows[0]);
         form.ShowDialog();
         this.RemplazarEnViajeDesdeHasta(aeronum, fecha1, fecha2, viaje);
     }
 }
예제 #11
0
        private void selectButton_Click(object sender, EventArgs e)
        {
            int Viaj_Cod = Convert.ToInt32(vuelosGridView.SelectedRows[0].Cells[0].Value);
            SeleccionCantidadesForm sc = new SeleccionCantidadesForm(vuelosGridView.SelectedRows[0]);
            sc.ShowDialog();

            if (sc.habilitado) {
                SeleccionItemsForm si = new SeleccionItemsForm(Viaj_Cod, sc.kgsHabilitados, sc.pasajesHabilitados);
                si.ShowDialog();
                if (si.habilitado) {
                    double Enc_Cod = si.Enc_Cod;
                    double Enc_Kgs = si.Enc_Kgs;
                    DataTable Pas_Lista = si.Pas_Lista;

                    if (Properties.Settings.Default.Modo == "Admin") {
                        PagoAdminForm pa = new PagoAdminForm(si.precio);
                        pa.ShowDialog();
                        if (pa.habilitado)
                        {
                            double Com_Cli = pa.Cli_Cod;
                            string Com_Forma_Pago = pa.Com_Forma_Pago;
                            double Tar_Numero = pa.Tar_Numero;
                            double Com_Cuotas = pa.Com_Cuotas;

                            DbComunicator dbStoreProcedure = new DbComunicator();
                            SqlCommand storeProcedure = dbStoreProcedure.GetStoreProcedure("TS.spCrearCompra");
                            SqlParameter returnParameter = storeProcedure.Parameters.Add("RetVal", SqlDbType.BigInt);
                            returnParameter.Direction = ParameterDirection.ReturnValue;
                            storeProcedure.Parameters.Add(new SqlParameter("@Viaj_Cod", Viaj_Cod));
                            storeProcedure.Parameters.Add(new SqlParameter("@Com_Fecha", Properties.Settings.Default.FechaSistema));
                            storeProcedure.Parameters.Add(new SqlParameter("@Com_Cli", Com_Cli));
                            storeProcedure.Parameters.Add(new SqlParameter("@Enc_Cli", Enc_Cod));
                            storeProcedure.Parameters.Add(new SqlParameter("@Enc_Kgs", Enc_Kgs));
                            storeProcedure.Parameters.Add(new SqlParameter("@Pas_Lista", Pas_Lista));
                            storeProcedure.Parameters.Add(new SqlParameter("@Com_Forma_Pago", Com_Forma_Pago));

                            if (Com_Forma_Pago == "Tarjeta")
                            {
                                storeProcedure.Parameters.Add(new SqlParameter("@Tar_Numero", Tar_Numero));
                                storeProcedure.Parameters.Add(new SqlParameter("@Com_Cuotas", Com_Cuotas));
                            }
                            else {
                                storeProcedure.Parameters.Add(new SqlParameter("@Tar_Numero", 23));
                                storeProcedure.Parameters.Add(new SqlParameter("@Com_Cuotas", 1));
                            }

                            storeProcedure.ExecuteNonQuery();
                            dbStoreProcedure.CerrarConexion();

                            MessageBox.Show("Se ha creado su compra de $" + si.precio + " con PNR: " + (int)returnParameter.Value);
                        }
                    }

                    if (Properties.Settings.Default.Modo == "Kiosko") {
                        PagoKioskoForm pa = new PagoKioskoForm(si.precio);
                        pa.ShowDialog();
                        if (pa.habilitado)
                        {
                            double Com_Cli = pa.Cli_Cod;
                            string Com_Forma_Pago = pa.Com_Forma_Pago;
                            double Tar_Numero = pa.Tar_Numero;
                            double Com_Cuotas = pa.Com_Cuotas;

                            DbComunicator dbStoreProcedure = new DbComunicator();
                            SqlCommand storeProcedure = dbStoreProcedure.GetStoreProcedure("TS.spCrearCompra");
                            SqlParameter returnParameter = storeProcedure.Parameters.Add("RetVal", SqlDbType.BigInt);
                            returnParameter.Direction = ParameterDirection.ReturnValue;
                            storeProcedure.Parameters.Add(new SqlParameter("@Viaj_Cod", Viaj_Cod));
                            storeProcedure.Parameters.Add(new SqlParameter("@Com_Fecha", Properties.Settings.Default.FechaSistema));
                            storeProcedure.Parameters.Add(new SqlParameter("@Com_Cli", Com_Cli));
                            storeProcedure.Parameters.Add(new SqlParameter("@Tar_Numero", Tar_Numero));
                            storeProcedure.Parameters.Add(new SqlParameter("@Com_Forma_Pago", Com_Forma_Pago));
                            storeProcedure.Parameters.Add(new SqlParameter("@Com_Cuotas", Com_Cuotas));
                            storeProcedure.Parameters.Add(new SqlParameter("@Enc_Cli", Enc_Cod));
                            storeProcedure.Parameters.Add(new SqlParameter("@Enc_Kgs", Enc_Kgs));
                            storeProcedure.Parameters.Add(new SqlParameter("@Pas_Lista", Pas_Lista));
                            storeProcedure.ExecuteNonQuery();
                            dbStoreProcedure.CerrarConexion();

                            MessageBox.Show("Se ha creado su compra de $"+ si.precio + " con PNR: " + (int)returnParameter.Value);
                        }
                    }

                }
            }
        }
예제 #12
0
        private void acceptButton_Click(object sender, EventArgs e)
        {
            bool clienteDuplicado = false;
            DbComunicator db = new DbComunicator();

            foreach (DataGridViewRow row in pasajeGridView.Rows)
            {
                clienteDuplicado = clienteDuplicado || (row.Cells[0].Value != null && (row.Cells[0].Value.ToString() == this.cliCod));
            }

            db.EjecutarQuery("SELECT COUNT(*) Cantidad FROM TS.Pasaje as P WHERE P.Can_Cod IS NULL AND P.Viaj_Cod = "+ viajCod + " AND P.Cli_Cod = " + this.cliCod);
            db.getLector().Read();

            clienteDuplicado = clienteDuplicado || (Convert.ToInt32(db.getLector()["Cantidad"]) >= 1);

            if (clienteDuplicado)
            {
                MessageBox.Show("Ya se ha sacado un pasaje para este cliente en este vuelo.");
            }
            else {
                db = new DbComunicator();
                SqlCommand storeProcedure = db.GetStoreProcedure("TS.fnValidarViajeCliente");
                SqlParameter returnParameter = storeProcedure.Parameters.Add("RetVal", SqlDbType.Int);
                returnParameter.Direction = ParameterDirection.ReturnValue;
                storeProcedure.Parameters.Add(new SqlParameter("@Cli_Cod", this.cliCod));
                storeProcedure.Parameters.Add(new SqlParameter("@Viaj_Cod", this.viajCod));
                storeProcedure.ExecuteNonQuery();
                db.CerrarConexion();

                if ((int)returnParameter.Value == 1)
                {
                    string cliDni = "";
                    DbComunicator db1 = new DbComunicator();
                    db1.EjecutarQuery("SELECT Cli_DNI FROM TS.Cliente WHERE Cli_Cod = " + this.cliCod);
                    db1.getLector().Read();
                    cliDni = db1.getLector()["Cli_DNI"].ToString();
                    this.pasajeGridView.Rows.Insert(0, this.cliCod, cliDni, fullNameTextBox.Text, addressTextBox.Text, butacaComboBox.SelectedValue, precioTextBox.Text);
                    this.butacaReservada = Convert.ToInt32(butacaComboBox.SelectedValue);
                    db1.CerrarConexion();
                    this.Close();
                }
                else {
                    MessageBox.Show("El cliente ya tiene un pasaje para un vuelo que sale el mismo dia que el viaje selccionado.");
                }

            }
        }
예제 #13
0
        private void kgsTextBox_TextChanged(object sender, EventArgs e)
        {
            int kgs = 0;
            if (!String.IsNullOrEmpty(kgsTextBox.Text)) {
                kgs = Convert.ToInt32(kgsTextBox.Text);
            }

            DbComunicator db = new DbComunicator();
            SqlCommand storeProcedure = db.GetStoreProcedure("TS.fnGetPrecioEncomienda");
            SqlParameter returnParameter = storeProcedure.Parameters.Add("RetVal", SqlDbType.Decimal);
            returnParameter.Direction = ParameterDirection.ReturnValue;
            storeProcedure.Parameters.Add(new SqlParameter("@Enc_Kgs", kgs));
            storeProcedure.Parameters.Add(new SqlParameter("@Viaj_Cod", viajCod));
            storeProcedure.ExecuteNonQuery();
            db.CerrarConexion();

            precioTextBox.Text = Convert.ToDecimal(returnParameter.Value).ToString();
        }