Exemplo n.º 1
0
        // Cambiamos el comportamiento del botón Enviar nuevo recorrido: Ahora será el botón Guardar los cambios del recorrido editado
        override protected void btnEnviar_Click(object sender, EventArgs e) // Botón GUARDAR
        {
            // 1. Primero actualizamos el identificador del recorrido
            // Seteamos el identificador al recorrido y validamos que no sea nulo o cadena vacía
            try
            {
                recorrido.setIdentificador(txtbxCodRecorrido.Text);
            }
            catch (IdentificadorCruceroNullException ex)
            {
                ex.mensajeError();
                return;
            }

            // Validamos que el código de recorrido éste disponible
            string identificadorRecorridoEditado = txtbxCodRecorrido.Text; // Puede ser igual al anterior

            if (Recorrido.identificadorDisponibleEditarRecorrido(identificadorRecorridoAEditar, identificadorRecorridoEditado, pkRecorridoAEditar).Equals(false))
            {
                MensajeBox.error("El identificador ingresado para el recorrido ya se encuentra en uso en otro recorrido diferente a éste. Por favor, pruebe con uno diferente.");
                return;
            }

            // 2. Borramos todos los tramos en la BD del recorrido a editar
            Recorrido.eliminarTramos(pkRecorridoAEditar);

            // 3. Insertamos los nuevos tramos seleccionados para el recorrido a editar
            recorrido.actualizar(identificadorRecorridoAEditar);

            MensajeBox.info("El recorrido se actualizo correctamente");
            this.Close(); // Cerramos el formulario de editar recorrido
        }
Exemplo n.º 2
0
        }// FIN btnEnviar_Click()

        /*** MODIFICACIÓN DE CRUCERO EXISTENTE ***/
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            string identificadorCruceroAnterior = identificadorCrucero;

            // 1. Obtenemos los atributos del crucero
            this.cargarCampos();

            // 2. Construimos el objeto crucero
            Crucero crucero;

            try
            {
                crucero = new CruceroBuilder()
                          .setModelo(modelo)
                          .setMarca(marca)
                          .setIdentificador(identificadorA, identificadorB)
                          .setTipoServicio(this.obtenerTipoServicio())
                          .buildCrucero();
            }
            catch (CamposObligatoriosVaciosException ex)
            {
                ex.mensajeError();
                return;
            }

            // 3. Validamos que se haya ingresado al menos una cabina
            int cantidadCabinas = calcularCantidadCabinas();

            try
            {
                Cabina.validarCantidadCabinas(cantidadCabinas);
            }
            catch (CruceroSinCabinasException ex)
            {
                ex.mensajeError();
                return;
            }

            // 4. Guardamos las cabinas ingresadas en el crucero
            guardarCabinas(crucero, cantidadCabinas);

            // 5. Validamos que no haya cabinas repetidas (Numero-Piso debería ser único por crucero)
            if (crucero.hayCabinasRepetidas())
            {
                MensajeBox.error("Cabinas repetidas: Hay cabinas con igual número y piso. Revise los datos e intente nuevamente.");
                return;
            }

            // 6. En este punto ya tenemos un crucero correctamente construido y listo para ser ACTUALIZADO (incluyendo sus cabinas)
            try
            {
                crucero.actualizar(identificadorCruceroAnterior);
                MensajeBox.info("El crucero se actualizo correctamente.");
            }
            catch (ActualizarCruceroException ex)
            {
                ex.mensajeError();
                return;
            }
        } // FIN btnGuardar_Click()
        public static int cantidad(string usuario)
        {
            string           consulta   = "SELECT COUNT(rol) FROM LOS_BARONES_DE_LA_CERVEZA.Roles_Por_Usuario WHERE usuario = @usuario_elegido";
            List <Parametro> parametros = new List <Parametro>();
            Parametro        param      = new Parametro("@usuario_elegido", SqlDbType.NVarChar, usuario, 100);

            parametros.Add(param);
            Query miConsulta = new Query(consulta, parametros);

            try
            {
                int cantidadRoles = (int)miConsulta.ejecutarEscalar();

                if (cantidadRoles.Equals(DEF.NINGUN_ROL))
                {
                    MensajeBox.error("Error al cargar los roles. El usuario no tienen ningún rol asignado.");
                    return(DEF.ERROR);
                }
                else if (cantidadRoles.Equals(DEF.UNICO_ROL))
                {
                    return(DEF.UNICO_ROL);
                }
                else
                {
                    return(DEF.MAS_DE_UN_ROL);
                }
            }
            catch (Exception ex)
            {
                MensajeBox.error("Error al cargar los roles. Info: " + ex.ToString());
                return(DEF.ERROR);
            }
        } // FIN cantidad()
        } // FIN rolHabilitado()

        // @IMPORTANTE: Puede que ande para recuperar las funcionalidades totales de varios roles
        public static List <string> funcionalidadesUnicoRol(string usuario)
        {
            string consulta =
                "SELECT funcionalidad"
                + " FROM LOS_BARONES_DE_LA_CERVEZA.Funcionalidades_Por_Roles fpr"
                + " JOIN LOS_BARONES_DE_LA_CERVEZA.Roles_Por_Usuario rpu"
                + " ON fpr.rol = rpu.rol"
                + " WHERE usuario = @usuario_elegido";

            List <Parametro> parametros = new List <Parametro>();
            Parametro        param      = new Parametro("@usuario_elegido", SqlDbType.NVarChar, usuario, 100);

            parametros.Add(param);
            Query         miConsulta = new Query(consulta, parametros);
            List <string> funcionalidades;

            try
            {
                funcionalidades = miConsulta.ejecutarReaderUnicaColumna();
                return(funcionalidades);
            }
            catch (Exception ex)
            {
                MensajeBox.error("Error al cargar las funcionalidades. Info: " + ex.ToString());
                return(null);
            }
        } // FIN recuperarUnicoRol()
        } // FIN cantidad()

        public static bool rolHabilitado(string usuario)
        {
            string consulta =
                "SELECT habilitado"
                + " FROM LOS_BARONES_DE_LA_CERVEZA.Roles r"
                + " JOIN LOS_BARONES_DE_LA_CERVEZA.Roles_por_Usuario rpu"
                + " ON r.nombre_rol = rpu.rol"
                + " WHERE rpu.usuario = @usuario";

            List <Parametro> parametros = new List <Parametro>();
            Parametro        param      = new Parametro("@usuario", SqlDbType.NVarChar, usuario, 100);

            parametros.Add(param);

            bool habilitado;

            try
            {
                Query miConsulta = new Query(consulta, parametros);
                habilitado = (bool)miConsulta.ejecutarEscalar();
                if (habilitado.Equals(true))
                {
                    return(true); // El rol está habilitado
                }
                else
                {
                    return(false); // El rol NO está habilitado
                }
            }
            catch (Exception ex)
            {
                MensajeBox.error("Error al cargar el rol. Info: " + ex.ToString());
                return(false);
            }
        } // FIN rolHabilitado()
Exemplo n.º 6
0
        private void btnEnviar_Click(object sender, EventArgs e)
        {
            // 1. Validamos que el precio sea correcto
            if (String.IsNullOrEmpty(txtbxNuevoPrecioA.Text))
            {
                MensajeBox.error("Debe ingresar un precio válido.");
                return;
            }

            // 2. Obtenemos el nuevo precio ingresado
            if (txtbxNuevoPrecioB.Text.Equals(""))
            {
                txtbxNuevoPrecioB.Text = "00";
            }
            double nuevoPrecio = Convert.ToDouble(txtbxNuevoPrecioA.Text + "," + txtbxNuevoPrecioB.Text);

            // 3. Seteamos el nuevo precio al tramo seleccionado y lo actualizamos
            this.tramo.setPrecio(nuevoPrecio);
            try
            {
                this.tramo.actualizarPrecio();
            }
            catch
            {
                MensajeBox.error("No se pudo actualizar el precio del tramo seleccionado. Intente nuevamente o contacte al administrador.");
                return;
            }

            // 4. Informamos del éxito en la actualización del precio y cerramos
            MensajeBox.info("El precio se actualizó correctamente.");
            this.Close();
        }
 private void btnIngresarAdmins_Click(object sender, EventArgs e)
 {
     if (this.hayCamposNulos())
     {
         MensajeBox.error("Hay campos obligatorios sin completar.");
     }
     else
     {
         this.verificarUsuario();
     }
 }
        private void btnEnviar_Click(object sender, EventArgs e)
        {
            // 1. Validamos que se haya seleccionado un puerto de inicio y fin
            if (cmbxPuertoInicio.SelectedValue == null || cmbxPuertoFin.SelectedValue == null)
            {
                MensajeBox.error("Debe seleccionar un puerto de origen y destino.");
                return;
            }

            // 2. Validamos que el precio sea correcto
            if (String.IsNullOrEmpty(txtbxPrecioA.Text))
            {
                MensajeBox.error("Debe ingresar un precio válido.");
                return;
            }

            // 3. Obtenemos el puerto de inicio, puerto de fin y precio ingresdos
            string puertoInicio = cmbxPuertoInicio.SelectedValue.ToString();
            string puertoFin    = cmbxPuertoFin.SelectedValue.ToString();

            if (txtbxPrecioB.Text.Equals(""))
            {
                txtbxPrecioB.Text = "00";
            }
            double precio = Convert.ToDouble(txtbxPrecioA.Text + "," + txtbxPrecioB.Text);

            // 4. Construimos el objeto tramo y lo insertamos
            Tramo tramo = new Tramo(puertoInicio, puertoFin, Convert.ToDouble(precio));

            try
            {
                tramo.insertar();
            }
            catch
            {
                MensajeBox.error("Hubo un error al insertar el nuevo tramo. Por favor, intente nuevamente o contacte al administrador");
                return;
            }

            // 5. Mostramos el mensaje de confirmación
            MensajeBox.info("El nuevo tramo se inserto correctamente.");

            // 6. Después de insertar debo recargar el cmbx de puerto de inicio y de fin para descartar el tramo recién insertado
            OrdenCmbxPuertosInicio ordenPostInsert = new OrdenPostInsert();

            this.cargarCbmxPuertosInicio(ordenPostInsert);
        }
        virtual protected void btnEnviar_Click(object sender, EventArgs e)
        {
            // Seteamos el identificador al recorrido objeto y validamos que no sea nulo o cadena vacía
            try
            {
                recorrido.setIdentificador(txtbxCodRecorrido.Text);
            }
            catch (IdentificadorCruceroNullException ex)
            {
                ex.mensajeError();
                return;
            }

            // Validamos que el código de recorrido éste disponible
            if (Recorrido.identificadorDisponibleRecorridoNuevo(recorrido.getIdentificador()).Equals(false))
            {
                MensajeBox.error("El identificador ingresado para el recorrido ya se encuentra registrado. Por favor, pruebe con uno diferente.");
                return;
            }

            // Validamos que se haya seleccionado al menos un tramo para el nuevo recorrido
            if (recorrido.ningunTramo())
            {
                MensajeBox.error("Debe seleccionar al menos un tramo.");
                return;
            }

            // En este punto ya tenemos un recorrido correctamente construido y listo para ser INSERTADO
            try
            {
                recorrido.insertar();
                MensajeBox.info("El recorrido se dió de alta correctamente.");
            }
            catch (InsertarRecorridoException ex)
            {
                ex.mensajeError();
                return;
            }
        } // FIN btnEnviar_Click
        private void btnAceptar_Click(object sender, EventArgs e)
        {
            DateTime fechaDesde = ArchivoConfig.obtenerFechaConfig();
            DateTime fechaHasta = dtpFechaHasta.Value;

            // Validamos que la fecha de reinicio sea posterior a la actual (el sistema la toma del archivo de configuración)
            if (DateTime.Compare(fechaDesde, fechaHasta) > 0)
            {
                MensajeBox.error("La fecha de reinicio debe ser posterior a la actual.");
                return;
            }

            string consulta = "UPDATE LOS_BARONES_DE_LA_CERVEZA.Cruceros "
                              + "SET baja_fuera_servicio = 1 "
                              + "WHERE identificador = @identificador; "
                              + "INSERT INTO LOS_BARONES_DE_LA_CERVEZA.Cruceros_Fuera_Servicio "
                              + "(id_crucero, fecha_inicio_fuera_servicio, fecha_fin_fuera_servicio) "
                              + "SELECT id_crucero, @fecha_desde, @fecha_hasta "
                              + "FROM LOS_BARONES_DE_LA_CERVEZA.Cruceros "
                              + "WHERE identificador = @identificador ";

            List <Parametro> parametros     = new List <Parametro>();
            Parametro        paramIdCrucero = new Parametro("@identificador", SqlDbType.NVarChar, identificadorCruceroST, 50);

            parametros.Add(paramIdCrucero);
            Parametro paramFechaDesde = new Parametro("@fecha_desde", SqlDbType.NVarChar, fechaDesde.ToString("yyyy-MM-dd h:mm tt"), 255);

            parametros.Add(paramFechaDesde);
            Parametro paramFechaHasta = new Parametro("@fecha_hasta", SqlDbType.NVarChar, fechaHasta.ToString("yyyy-MM-dd h:mm tt"), 255);

            parametros.Add(paramFechaHasta);

            Query miConsulta = new Query(consulta, parametros);

            miConsulta.ejecutarNonQuery();

            this.Close();
        }
Exemplo n.º 11
0
 public void mensajeError()
 {
     MensajeBox.error("La fecha de fin del viaje debe ser posterior a la fecha de inicio del mismo.");
 }
Exemplo n.º 12
0
 public void mensajeError()
 {
     MensajeBox.error("Error al actualizar el crucero. Intente nuevamente o contacte al administrador.");
 }
Exemplo n.º 13
0
        private void btnCrearRol_Click(object sender, EventArgs e)
        {
            // 1. Primero obtenemos el nombre del nuevo rol que el usuario ingreso
            string nombreRol = txtbxNombreRol.Text;

            // 2. Validamos que haya NO se haya ingresado un nombre vacío
            if (NombreRol.campoNombreVacío(nombreRol).Equals(true))
            {
                MensajeBox.error("Debe ingresar un nombre para el rol.");
                return;
            }

            // 3. Si se está modificando el Rol_Cliente, validamos que NO se esté modificando el nombre del rol
            if (rolAEditar.Equals(DEF.ROL_CLIENTE) && !nombreRol.Equals(DEF.ROL_CLIENTE))
            {
                MensajeBox.info("No se puede cambiar el nombre del rol Cliente");
                return;
            }

            // 3. Validamos que el nombre del rol esté disponible
            if (nombreRol != rolAEditar)
            {
                if (NombreRol.estaDisponible(nombreRol).Equals(false))
                {
                    MensajeBox.error("El nombre elegido para el rol ya se encuentra en uso. Por favor, ingrese uno diferente.");
                    return;
                }
            }
            // Si nombreRol != rolAEditar significa que estamos en modo edición y el usuario
            // cambió el nombre del rol.

            // 4. Capturamos los checkbox de funcionalidades seleccionados
            Dictionary <string, bool> funcionalidades = Funcionalidades.seleccionadas(chbxAbmCruceros.Checked, chbxAbmPuertos.Checked, chbxAbmRecorridos.Checked,
                                                                                      chbxAbmRol.Checked, chbxComprarReservarViaje.Checked, chbxGenerarViaje.Checked, chbxListadosEstadisticos.Checked, chbxPagoReserva.Checked);

            // 5. Validamos que el usuario haya seleccionado al menos una funcionalidad
            if (Funcionalidades.alMenosUna(funcionalidades).Equals(false))
            {
                // El usuario NO selecciono ninguna funcionalidad
                MensajeBox.error("Debe seleccionar al menos una funcionalidad.");
                return;
            }

            // 6. En este punto ya podemos insertar o actualizar el nuevo rol en la BD
            if (modo.Equals("EDICION"))
            { /*** INICIO MODO EDICIÓN ***/
                // rolAEditar tiene el valor del nombre de rol anterior y nombreRol el nuevo
                bool rolActualizado = Rol.actualizar(rolAEditar, nombreRol, funcionalidades);
                if (rolActualizado.Equals(true))
                {
                    MensajeBox.info("El rol se actualizó correctamente.");
                    rolAEditar = nombreRol; // El rol anterior ahora es el nuevo rol
                    return;
                }
                else
                {
                    MensajeBox.error("El rol no se pudo actualizar.");
                    return;
                }
            } /*** FIN MODO EDICIÓN ***/

            // Si no estamos en modo edición es que vamos a insertar un rol nuevo
            bool rolInsertado = Rol.insertar(nombreRol, funcionalidades);

            if (rolInsertado.Equals(true))
            {
                // El rol se inserto correctamente
                MensajeBox.info("El nuevo rol se creo correctamente.");
                return;
            }
            else
            {
                // El rol NO se pudo insertar
                MensajeBox.error("El nuevo rol no se pudo crear. Intente nuevamente.");
                return;
            }
        } // FIN btnCrearRol_Click()
Exemplo n.º 14
0
 public override void mensajeError()
 {
     MensajeBox.error("Debe ingresar un campo identificador para el recorrido.");
 }
 public virtual void mensajeError()
 {
     MensajeBox.error("Hay campos obligatorios sin completar.");
 }
Exemplo n.º 16
0
 public void mensajeError()
 {
     MensajeBox.error("Error al insertar el recorrido. Intente nuevamente o contacte al administrador.");
 }
 public void mensajeError()
 {
     MensajeBox.error("No ha seleccionado un crucero para el viaje. Por favor, seleccione uno.");
 }
 public void mensajeError()
 {
     MensajeBox.error("La fecha de inicio del viaje debe ser posterior a la actual (fecha de archivo de configuración).");
 }
 public void procesarResultado(string nombreUsuario)
 {
     MensajeBox.error("Contraseña incorrecta.");
 }
Exemplo n.º 20
0
 public void mensajeError()
 {
     MensajeBox.error("No ha seleccionado ningún recorrido para el nuevo viaje. Por favor, seleccione uno.");
 }
 public void procesarResultado(string nombreUsuario)
 {
     MensajeBox.error("No existe el usuario.");
 }
 public void mensajeError()
 {
     MensajeBox.error("Hubo un error al insertar el viaje. Por favor, intente nuevamente o contacte al administrador.");
 }
Exemplo n.º 23
0
        } // FIN SeleccionRolForm_Load()

        // Abrimos la pantalla de edición para editar el rol seleccionado, con los datos que ya tenga cargados
        private void dgvEditarRoles_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            var senderGrid = (DataGridView)sender;

            rolAEditar = Convert.ToString(dgvRoles.Rows[e.RowIndex].Cells["Nombre rol"].Value);
            // Se presiono el botón Editar
            if ((senderGrid.Columns[e.ColumnIndex] is DataGridViewButtonColumn &&
                 e.RowIndex >= 0))
            {
                CrearRolForm formEditarRol = new CrearRolForm(rolAEditar);
                formEditarRol.ShowDialog();

                // Limpiamos el el datagridview para que no queden datos obsoletos
                DGVUtils.limpiar(dgvRoles);
                conexion = new ConexionBD();
                Rol.cargarRolesEdicion(conexion, dgvRoles);
                //dgvRoles.CellClick += dgvEditarRoles_CellClick; // Evento para el botón Editar
                contador++;
                return;
            }
            //} // FIN contador

            // Se presiono el checkbox Habilitar/Deshabilitar rol
            if (e.ColumnIndex == DEF.INDICE_COLUMNA_HABILITAR_ROL && e.RowIndex >= 0)
            {
                dgvRoles.CommitEdit(DataGridViewDataErrorContexts.Commit);

                // Chequeamos el valor del checkbox Habilitar
                if (dgvRoles.CurrentCell.Value.GetType() == typeof(bool))
                {
                    if ((bool)dgvRoles.CurrentCell.Value == false)
                    {
                        // Habilitar rol
                        bool resultado = Rol.habilitar(rolAEditar);
                        if (resultado.Equals(true))
                        {
                            MensajeBox.info("El rol se habilito correctamente.");
                        }
                        else
                        {
                            MensajeBox.error("No se pudo habilitar el rol seleccionado.");
                        }
                    }
                    else
                    {
                        //Deshabilitar rol
                        bool resultado = Rol.deshabilitar(rolAEditar);
                        if (resultado.Equals(true))
                        {
                            MensajeBox.info("Rol deshabilitado correctamente.");
                        }
                        else
                        {
                            MensajeBox.error("No se pudo deshabilitar el rol seleccionado.");
                        }
                    }
                } // FIN chequeamos el valor del checkbox

                conexion = new ConexionBD();
                conexion.cerrar();
                return;
            } // FIN se presiono el checkbox Habilitar/Deshabilitar rol
        }     // FIN dgvEditarRoles_CellClick()
Exemplo n.º 24
0
        /*** ALTA DE NUEVO CRUCERO ***/

        private void btnAlta_Click(object sender, EventArgs e)
        {
            // 1. Obtenemos los atributos del crucero
            this.cargarCampos();
            DateTime fechaAlta = ArchivoConfig.obtenerFechaConfig();

            // 2. Construimos el objeto crucero
            Crucero crucero;

            try
            {
                crucero = new CruceroBuilder()
                          .setModelo(modelo)
                          .setMarca(marca)
                          .setIdentificador(identificadorA, identificadorB)
                          .setFechaAlta(fechaAlta)
                          .setTipoServicio(this.obtenerTipoServicio())
                          .buildCrucero();
            }
            catch (CamposObligatoriosVaciosException ex)
            {
                ex.mensajeError();
                return;
            }

            // 3. Validamos que el identificador del crucero esté disponible
            if (Crucero.identificadorDisponible(crucero.getIdentificador()).Equals(false))
            {
                MensajeBox.error("El identificador ingresado para el crucero ya se encuentra registrado.");
                return;
            }

            // 4. Validamos que se haya ingresado al menos una cabina
            int cantidadCabinas = calcularCantidadCabinas();

            try
            {
                Cabina.validarCantidadCabinas(cantidadCabinas);
            }
            catch (CruceroSinCabinasException ex)
            {
                ex.mensajeError();
                return;
            }

            // 5. Guardamos las cabinas ingresadas en el objeto crucero
            guardarCabinas(crucero, cantidadCabinas);

            // 6. Validamos que no haya cabinas repetidas (Numero-Piso debería ser único por crucero)
            if (crucero.hayCabinasRepetidas())
            {
                MensajeBox.error("Cabinas repetidas: Hay cabinas con igual número y piso. Revise los datos e intente nuevamente.");
                return;
            }

            // 7. En este punto ya tenemos un crucero correctamente construido y listo para ser INSERTADO (incluyendo sus cabinas)
            try
            {
                crucero.insertar();
                MensajeBox.info("El crucero se dió de alta correctamente.");
            }
            catch (InsertarCruceroException ex)
            {
                ex.mensajeError();
                return;
            }
        }// FIN btnEnviar_Click()
Exemplo n.º 25
0
 public void mensajeError()
 {
     MensajeBox.error("Debe ingresar al menos una cabina.");
 }