protected void Page_Load(object sender, EventArgs e)
 {
     Empresa = (Session["Empresas"] as Entidades.Empresas);
     Usuario = (Session["Usuario"] as Entidades.Usuarios);
     if (!RepositorioUsuarios.UsuarioEsAdministrador(Usuario))
     {
         Response.Redirect("~/default.aspx");
         return;
     }
     if (!Page.IsPostBack)
     {
         FechaTextBox.Text = DateTime.Now.ToFormatDate();
         int id = Request.QueryString["UsuarioId"].ToInt();
         if (id > 0 && PerteneceALaEmpresa(Usuario.Empresa))
         {
             RepositorioUsuarios repositorio = new RepositorioUsuarios();
             var Usuario = repositorio.Buscar(id);
             if (Usuario.EsNulo() || !PerteneceALaEmpresa(Usuario.UsuarioId))
             {
                 Utils.Alerta(this, TipoTitulo.Informacion, TiposMensajes.RegistroNoEncontrado, IconType.info);
             }
             else
             {
                 LlenarCampos(Usuario);
             }
         }
     }
 }
        public bool PerteneceALaEmpresa(int id)
        {
            RepositorioUsuarios repositorio = new RepositorioUsuarios();
            Usuarios            user        = repositorio.Buscar(id);

            if (user.EsNulo())
            {
                return(false);
            }
            return(user.Empresa == Empresa.EmpresaID);
        }
        protected void BuscarButton_Click(object sender, EventArgs e)
        {
            RepositorioUsuarios repositorio = new RepositorioUsuarios();
            int Id = UsuarioIdTxt.Text.ToInt();

            if (Id != 0)
            {
                Usuarios usuarios = repositorio.Buscar(Id);
                if (!usuarios.EsNulo())
                {
                    Limpiar();
                    LlenarCampos(usuarios);
                }
                else
                {
                    Utils.ToastSweet(this, IconType.info, TiposMensajes.RegistroNoEncontrado);
                }
            }
            else
            {
                Utils.ToastSweet(this, IconType.info, TiposMensajes.RegistroNoEncontrado);
            }
        }
        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);
            }
        }