protected void BuscarButton_Click(object sender, EventArgs e)
        {
            Expression <Func <SolicitudUsuarios, bool> > filtro = x => true;
            RepositorioSolicitudes repositorio = new RepositorioSolicitudes();

            switch (BuscarPorDropDownList.SelectedIndex)
            {
            case 0:
                filtro = x => true;
                break;

            case 1:
                filtro = x => x.NombreUsuario.Contains(CriterioTextBox.Text);
                break;

            case 2:
                filtro = x => x.Estado == EstadoSolicitud.Autorizado;
                break;

            case 3:
                filtro = x => x.Estado == EstadoSolicitud.Pendiente;
                break;

            case 4:
                filtro = x => x.Estado == EstadoSolicitud.Denegado;
                break;
            }
            DateTime fechaDesde = FechaDesdeTextBox.Text.ToDatetime();
            DateTime FechaHasta = FechaHastaTextBox.Text.ToDatetime();

            if (Request.Form["FiltraFecha"] != null)
            {
                lista = repositorio.GetList(filtro).Where(x => x.Fecha.Date >= fechaDesde && x.Fecha.Date <= FechaHasta).ToList();
            }
            else
            {
                lista = repositorio.GetList(filtro);
            }
            repositorio.Dispose();
            this.BindGrid(lista.Where(x => x.EmpresaId == Empresa.EmpresaID).ToList());
        }
        protected void AprobarButton_Click(object sender, EventArgs e)
        {
            RepositorioUsuarios      repositorioUsuarios = new RepositorioUsuarios();
            RepositorioSolicitudes   repositorio         = new RepositorioSolicitudes();
            List <SolicitudUsuarios> ListaSolicitu       = (ViewState[KeyViewState] as List <SolicitudUsuarios>);
            GridViewRow       row           = (sender as LinkButton).NamingContainer as GridViewRow;
            SolicitudUsuarios solicitud     = ListaSolicitu.ElementAt(row.RowIndex);
            TipoTitulo        tipoTitulo    = TipoTitulo.OperacionFallida;
            TiposMensajes     tiposMensajes = TiposMensajes.RegistroNoGuardado;
            IconType          iconType      = IconType.error;
            bool paso = false;

            solicitud = repositorio.Buscar(solicitud.SolicitudId);
            if (solicitud.Estado == EstadoSolicitud.Pendiente)
            {
                if (solicitud.EmpresaId == Empresa.EmpresaID)
                {
                    solicitud.Estado = EstadoSolicitud.Autorizado;
                    paso             = repositorio.Modificar(solicitud);
                    if (paso)
                    {
                        Mensaje(repositorioUsuarios.Buscar(solicitud.UsuarioId).Correo, Empresa.NombreEmpresa, TiposMensajes.SolicitudAceptada);
                    }
                }
                if (paso)
                {
                    tipoTitulo    = TipoTitulo.OperacionExitosa;
                    tiposMensajes = TiposMensajes.RegistroGuardado;
                    iconType      = IconType.success;
                }
                Utils.Alerta(this, tipoTitulo, tiposMensajes, iconType);
            }
            else
            {
                Utils.ToastSweet(this, IconType.error, TiposMensajes.YaFueDenegadaOAprobada);
            }
        }
        public static int GetCantidadSolicitudes()
        {
            RepositorioSolicitudes repositorio = new RepositorioSolicitudes();

            return(repositorio.GetList(x => x.Estado == EstadoSolicitud.Pendiente).Count());
        }