Ejemplo n.º 1
0
 static void Main()
 {
     Application.EnableVisualStyles();
     Application.SetCompatibleTextRenderingDefault(false);
     Application.Run(FrmInicioSesion.ObtenerInstancia());
     //Application.Run(FrmPrincipal);
 }
        private void ComprobarConexionMaxima()
        {
            if (TimeSpan.Parse(tslTiempoConexion.Text.Substring(21, 8).Trim()) >= TIEMPO_LIMITE_CONEXION)
            {
                tmrActualizarDatos.Stop();

                tslTiempoConexion.ForeColor = ClsColores.Rojo;

                FrmInicioSesion.ObtenerInstancia().S_TiempoDeSesionExedido = true;

                Close();
            }
            else if (TimeSpan.Parse(tslTiempoConexion.Text.Substring(21, 8).Trim()) >= SEGUNDA_ADVERTENCIA)
            {
                tslTiempoConexion.ForeColor = ClsColores.NarajaRojo;
            }
            else if (TimeSpan.Parse(tslTiempoConexion.Text.Substring(21, 8).Trim()) >= PRIMERA_ADVERTENCIA)
            {
                tslTiempoConexion.ForeColor = ClsColores.AmarilloClaro;
            }
            else
            {
                tslTiempoConexion.ForeColor = ClsColores.Gris;
            }
        }
 private void CargarLabels()
 {
     tslFecha.Text   = DateTime.Now.ToLongDateString();
     tslHora.Text    = DateTime.Now.ToShortTimeString();
     lblPerfil.Text  = Convert.ToString((ClsPerfiles.EPerfiles)FrmInicioSesion.ObtenerInstancia().G_ID_PerfilUsuarioInicioSesion);
     lblUsuario.Text = FrmInicioSesion.ObtenerInstancia().G_NombreUsuarioInicioSesion;
 }
 private void MostrarMenuVencimientos()
 {
     if (FrmInicioSesion.ObtenerInstancia().G_ID_PerfilUsuarioInicioSesion == (int)ClsPerfiles.EPerfiles.Administrador)
     {
         btnActualizarVencimientos.Enabled = true;
         btnActualizarVencimientos.Visible = true;
     }
 }
        private void picBTNCerrar_Click(object sender, EventArgs e)
        {
            FrmRespuesta RespuestaFormulario = new FrmRespuesta("¿Esta seguro que desea cerrar el programa?", FrmRespuesta.ETamaño.Pequeño, FrmRespuesta.ETipo.Si_No);

            if (RespuestaFormulario.DialogResult == DialogResult.Yes)
            {
                FrmInicioSesion.ObtenerInstancia().S_SeCierraLaAplicacion = true;
                Application.Exit();
            }
        }
        private void DgvDatosUsuarios_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            DataGridView DetectarTipoCasilla = (DataGridView)sender;

            if (e.RowIndex != -1 && !(DetectarTipoCasilla.Columns[e.ColumnIndex] is DataGridViewCheckBoxColumn))
            {
                using (FrmValidarUsuario VerificarDueñoUsuario = new FrmValidarUsuario((int)dgvDatosUsuarios.Rows[e.RowIndex].Cells[(int)ENumColDGVUsuarios.ID_Usuario].Value))
                {
                    if (FrmInicioSesion.ObtenerInstancia().G_ID_UsuarioInicioSesion != (int)ClsPerfiles.EPerfiles.Administrador)
                    {
                        VerificarDueñoUsuario.ShowDialog();
                    }
                    else
                    {
                        VerificarDueñoUsuario.DialogResult = DialogResult.OK;
                    }

                    if (VerificarDueñoUsuario.DialogResult == DialogResult.OK)
                    {
                        using (FrmUsuario FormCargarUsuario = new FrmUsuario((int)dgvDatosUsuarios.Rows[e.RowIndex].Cells[(int)ENumColDGVUsuarios.ID_Usuario].Value, rbnUsuariosActivos.Checked))
                        {
                            FormCargarUsuario.ShowDialog();

                            if (FormCargarUsuario.DialogResult == DialogResult.OK)
                            {
                                string InformacionDelError = string.Empty;

                                ClsUsuarios Usuarios          = new ClsUsuarios();
                                Usuario     ActualizarEdicion = new Usuario();

                                ActualizarEdicion = Usuarios.LeerPorNumero((int)dgvDatosUsuarios.Rows[e.RowIndex].Cells[(int)ENumColDGVUsuarios.ID_Usuario].Value, ClsUsuarios.EUsuarioABuscar.PorID, ref InformacionDelError);

                                if (ActualizarEdicion != null)
                                {
                                    dgvDatosUsuarios.Rows[e.RowIndex].Cells[(int)ENumColDGVUsuarios.ID_Usuario].Value = ActualizarEdicion.ID_Usuario;
                                    dgvDatosUsuarios.Rows[e.RowIndex].Cells[(int)ENumColDGVUsuarios.Nick].Value       = ActualizarEdicion.Nick;
                                    dgvDatosUsuarios.Rows[e.RowIndex].Cells[(int)ENumColDGVUsuarios.Nombre].Value     = ActualizarEdicion.Nombre;
                                    dgvDatosUsuarios.Rows[e.RowIndex].Cells[(int)ENumColDGVUsuarios.Apellido].Value   = ActualizarEdicion.Apellido;
                                    dgvDatosUsuarios.Rows[e.RowIndex].Cells[(int)ENumColDGVUsuarios.Perfil].Value     = ActualizarEdicion.Perfil.Nombre;

                                    dgvDatosUsuarios.Sort(dgvDatosUsuarios.Columns[(int)ENumColDGVUsuarios.Perfil], ListSortDirection.Descending);
                                }
                                else
                                {
                                    MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                                }

                                UltimaFilaSeleccionada = -1;
                            }
                        }
                    }
                }
            }
        }
        private void PermisosUsuario()
        {
            switch ((ClsPerfiles.EPerfiles)FrmInicioSesion.ObtenerInstancia().G_ID_PerfilUsuarioInicioSesion)
            {
            case ClsPerfiles.EPerfiles.Gerente:
            {
                // Permisos de gerente
                break;
            }

            case ClsPerfiles.EPerfiles.SubGerente:
            {
                // permisos de subgerente
                break;
            }

            case ClsPerfiles.EPerfiles.Mozo:
            {
                // permisos de mozo
                break;
            }

            case ClsPerfiles.EPerfiles.Chef:
            {
                // Permisos de chef
                // El chef solo ve la cocina.
                tsmAccesoRapido.Visible            = false;
                btnReservas.Visible                = false;
                btnMesas.Visible                   = false;
                btnDelivery.Visible                = false;
                btnCarta.Visible                   = false;
                btnCaja.Visible                    = false;
                btnConfiguracion.Visible           = false;
                BtnClientes.Visible                = false;
                pnlContBotonesEstadisticas.Visible = false;
                break;
            }

            case ClsPerfiles.EPerfiles.Administrador:
            {
                // Permisos de administrador
                btnReservas.Visible      = true;
                btnMesas.Visible         = true;
                btnCocina.Visible        = true;
                btnCarta.Visible         = true;
                btnCaja.Visible          = true;
                btnConfiguracion.Visible = true;

                btnEstadisticas.Visible = true;
                btnEstadisticas.Enabled = true;
                btnDelivery.Visible     = true;
                btnDelivery.Enabled     = true;
                BtnStock.Visible        = true;
                BtnStock.Enabled        = true;
                break;
            }

            default:
            {
                MessageBox.Show($"Fallo al cargar el usuario", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                Close();
                break;
            }
            }
        }
        private void ComprobarVencimientos()
        {
            bool   MostrarMensaje       = false;
            bool   LicenciaExpirada     = false;
            string MensajesDeAviso      = string.Empty;
            int    AnchoFormInformacion = 200;

            string InformacionDelError = string.Empty;

            ClsVencimientosFuncionalidades VencimientosFuncionalidades = new ClsVencimientosFuncionalidades();
            VencimientoFuncionalidades     ComprobarVencimientos       = VencimientosFuncionalidades.LeerPorNumero(1, ref InformacionDelError);

            if (ComprobarVencimientos != null)
            {
                if (FrmInicioSesion.ObtenerInstancia().G_ID_PerfilUsuarioInicioSesion != (int)ClsPerfiles.EPerfiles.Administrador)
                {
                    // Vencimiento general
                    if (ComprobarVencimientos.VencimientoGeneral.Date < DateTime.Now.Date)
                    {
                        LicenciaExpirada = true;

                        MostrarMensaje        = true;
                        AnchoFormInformacion += 50;
                        MensajesDeAviso      += $"Se vencieron las funcionalidades del sistema.\r\n\r\n";
                    }
                    else if (ComprobarVencimientos.VencimientoGeneral.Date >= DateTime.Now.Date && ComprobarVencimientos.VencimientoGeneral.Date <= DateTime.Now.Date.AddDays(7))
                    {
                        MostrarMensaje        = true;
                        AnchoFormInformacion += 50;
                        MensajesDeAviso      += $"Aviso: Se venceran las funciones de todo el programa " +
                                                $"en {(ComprobarVencimientos.VencimientoGeneral.Date - DateTime.Now.Date).TotalDays} dias, al " +
                                                $"cumplirse la fecha limite de uso (esto se realizara automaticamente). Contacte con el " +
                                                $"programador para actualizar su fecha de vencimiento (no perdera los dias restantes que falten " +
                                                $"para el vencimiento, estos seran acumulados).\r\n\r\n";
                    }

                    // Vencimiento especifico de funcionalidades del sistema
                    if (ComprobarVencimientos.VencimientoFunciones.Date < DateTime.Now.Date)
                    {
                        BtnEstadisticasCaja.Enabled      = false;
                        BtnEstadisticasDelivery.Enabled  = false;
                        BtnEstadisticasGenerales.Enabled = false;
                        BtnEstadisticasReservas.Enabled  = false;
                        BtnEstadisticasCarta.Enabled     = false;

                        if (ComprobarVencimientos.VencimientoFunciones.Date >= DateTime.Now.Date.AddDays(7))
                        {
                            MostrarMensaje        = true;
                            AnchoFormInformacion += 50;
                            MensajesDeAviso      += $"Se vencieron las funcionalidades especificas en el sistema (estadisticas).\r\n\r\n";
                        }
                    }
                    else if (ComprobarVencimientos.VencimientoFunciones.Date >= DateTime.Now.Date && ComprobarVencimientos.VencimientoFunciones.Date <= DateTime.Now.Date.AddDays(7))
                    {
                        MostrarMensaje        = true;
                        AnchoFormInformacion += 50;
                        MensajesDeAviso      += $"Se vencera las funciones especificas del programa (estadisticas)" +
                                                $"en {(ComprobarVencimientos.VencimientoFunciones.Date - DateTime.Now.Date).TotalDays} dias.\r\n\r\n";
                    }

                    if (MostrarMensaje)
                    {
                        using (FrmInformacion FormInformacion = new FrmInformacion(MensajesDeAviso, ClsColores.Blanco, AnchoFormInformacion, 450))
                        {
                            FormInformacion.ShowDialog();
                        }
                    }
                }
                else
                {
                    BtnEstadisticasCaja.Enabled      = true;
                    BtnEstadisticasDelivery.Enabled  = true;
                    BtnEstadisticasGenerales.Enabled = true;
                    BtnEstadisticasReservas.Enabled  = true;
                    BtnEstadisticasCarta.Enabled     = true;
                }

                // Habilitar los botones de los forms si se reinicio el programa y la licencia se actualizo
                BloquearDesbloquearFuncionalidades(LicenciaExpirada);
            }
            else if (InformacionDelError == string.Empty)
            {
                MessageBox.Show("Fallo al leer los datos para compobar el vencimiento de las funciones " +
                                "del sistema", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                Close();
            }
            else
            {
                MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                Close();
            }
        }