protected void Page_Load(object sender, EventArgs e)
        {
            Usuario = Utilerias.FiltrarUsuario(this);

            string ClaveArea = Request.QueryString["id"];

            if (ClaveArea == null)
            {
                Mensaje Mensaje = new Mensaje()
                {
                    Titulo    = "No se eligió una área",
                    Contenido = "No se ha determinado el área a consultar",
                    Tipo      = TipoMensaje.ALERTA
                };

                Session["mensaje"] = Mensaje;
                Response.Redirect(ResolveUrl("~/App/Division/Requerimientos.aspx"));
            }

            Area = AreaDAO.Get(Convert.ToInt32(ClaveArea)).Rellenar();
            if (Area == null)
            {
                Mensaje Mensaje = new Mensaje()
                {
                    Titulo    = "No se encontró la área seleccionada",
                    Contenido = "El sistema no ha encontrado la área seleccionada",
                    Tipo      = TipoMensaje.ERROR
                };

                Session["mensaje"] = Mensaje;
                Response.Redirect(ResolveUrl("~/App/Division/Requerimientos.aspx"));
            }

            if (!IsPostBack)
            {
                PeriodoSeleccionado = Usuario.ConsultarPeriodoActual();

                PresupuestoDivision PresupuestoDivisional = Usuario.Division.PresupuestoActual(PeriodoSeleccionado.Clave);
                PresupuestoZona     PresupuestoZona       = Area.Zona.PresupuestoActual(PresupuestoDivisional.Clave);
                PresupuestoArea  = Area.PresupuestoActual(PresupuestoZona.Clave);
                presupuesto.Text = PresupuestoArea.Monto.ToString();

                NecesidadActual = Area.NecesidadActual(PeriodoSeleccionado.Clave) ?? new Necesidad();
                necesidad.Text  = NecesidadActual.CalcularImporte().ToString();


                GenerarTablaDetalles();
            }
        }
        private void GenerarTablaAreas()
        {
            litTablaAreas.Text = Disenio.GenerarTabla(Areas, a =>
            {
                Necesidad NecesidadActualArea  = (a.NecesidadActual(PeriodoSeleccionado.Clave) ?? new Necesidad()).Rellenar();
                Necesidad NecesidadInicialArea = a.NecesidadInicial(PeriodoSeleccionado.Clave) ?? new Necesidad();

                string NecesidadActual  = Utilerias.ToCurrency(NecesidadActualArea.CalcularImporte());
                string NecesidadInicial = Utilerias.ToCurrency(NecesidadInicialArea.CalcularImporte());

                string Estatus = NecesidadActualArea.Estatus?.Descripcion ?? "Sin registro";

                string Url = "RequerimientosArea.aspx?id=" + a.Clave;

                return(new string[] { a.Nombre, NecesidadActual, NecesidadInicial, Estatus, "<a href='" + Url + "' class='btn btn-default btn-block'>Ver detalles</a>" });
            });
        }