public void CargarControles()
        {
            StoreCelulas.Cargar(manejadorDeCelulas.ObtenerCelulasPermitidasPorMiembroComoCelulas(SesionActual.Instance.UsuarioId));

            // Precargamos la celula principal
            Celula celulaPrincipal = manejadorDeCelulas.ObtenerCelulaQueMiembroEsLider(SesionActual.Instance.UsuarioId);

            cboCelula.Value = celulaPrincipal.CelulaId;
            DateTime fechaPreseleccionada = manejadorDeAsistencias.ObtenerFechaDeSiguienteAsistencia(celulaPrincipal.CelulaId);

            dtpFecha.Value = fechaPreseleccionada;
            mostrarAsistencias(celulaPrincipal.CelulaId, fechaPreseleccionada);
        }
        public ActionResult Index()
        {
            ManejadorDeCelulas             manejadorDeCelulas     = new ManejadorDeCelulas();
            ManejadorDeAsistenciasDeCelula manejadorDeAsistencias = new ManejadorDeAsistenciasDeCelula();

            List <RegistroBasico> celulas = manejadorDeCelulas.ObtenerCelulasPermitidasPorMiembro(SesionActual.Instance.UsuarioId);

            Celula         celulaPrincipal       = manejadorDeCelulas.ObtenerCelulaQueMiembroEsLider(SesionActual.Instance.UsuarioId);
            RegistroBasico celulaPreseleccionada = new RegistroBasico()
            {
                Id          = celulaPrincipal.CelulaId,
                Descripcion = celulaPrincipal.Descripcion
            };

            DateTime fechaPreseleccionada = manejadorDeAsistencias.ObtenerFechaDeSiguienteAsistencia(celulaPreseleccionada.Id);

            Core.Modelos.Retornos.AsistenciaDeCelulaPorMiembroSumarizada asistenciaPreseleccionada = manejadorDeAsistencias.ObtenerAsistencia(celulaPreseleccionada.Id, fechaPreseleccionada);

            List <RegistroBasico> dias = new List <RegistroBasico>();

            for (int i = 1; i <= 31; i++)
            {
                string descripcion;
                try
                {
                    DateTime d = new DateTime(fechaPreseleccionada.Year, fechaPreseleccionada.Month, i);
                    descripcion = i.ToString().PadLeft(2, '0') + " - " + CultureInfo.CurrentCulture.TextInfo.ToTitleCase(CultureInfo.CurrentUICulture.DateTimeFormat.DayNames[(int)(new DateTime(fechaPreseleccionada.Year, fechaPreseleccionada.Month, i)).DayOfWeek]);
                }
                catch (Exception)
                {
                    descripcion = i.ToString();
                }

                RegistroBasico dia = new RegistroBasico();
                dia.Id          = i;
                dia.Descripcion = descripcion;
                dias.Add(dia);
            }

            List <RegistroBasico> meses = new List <RegistroBasico>();

            for (int i = 1; i < 13; i++)
            {
                RegistroBasico mes = new RegistroBasico();
                mes.Id          = i;
                mes.Descripcion = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(CultureInfo.CurrentUICulture.DateTimeFormat.MonthNames[i - 1]);
                meses.Add(mes);
            }

            List <RegistroBasico> anios = new List <RegistroBasico>();

            for (int i = 2011; i <= 2015; i++)
            {
                RegistroBasico anio = new RegistroBasico();
                anio.Id          = i;
                anio.Descripcion = i.ToString();
                anios.Add(anio);
            }

            ViewBag.CelulasPermitidas = new SelectList(celulas, "Id", "Descripcion", celulaPreseleccionada.Id);
            ViewBag.Dias              = new SelectList(dias, "Id", "Descripcion", fechaPreseleccionada.Day);
            ViewBag.Meses             = new SelectList(meses, "Id", "Descripcion", fechaPreseleccionada.Month);
            ViewBag.Anios             = new SelectList(anios, "Id", "Descripcion", fechaPreseleccionada.Year);
            ViewBag.NumeroDeInvitados = 0;
            ViewBag.Asistencia        = this.RenderPartialView("_Asistencia", asistenciaPreseleccionada.Asistencias);

            return(View());
        }