// GET: Recuerdo/Details/5
        public ActionResult Details(int id)
        {
            Recuerdo   rec        = null;
            RecuerdoEN recuerdoEN = new RecuerdoCAD(session).ReadOID(id);

            rec = new AssemblerRecuerdo().ConvertENToModelUI(recuerdoEN);
            ViewData["idEvento"] = rec.IdEvento;
            ViewData["recuerdo"] = recuerdoEN.Titulo;
            ArrayList fotos = new ArrayList();

            foreach (string foto in recuerdoEN.FotosRecuerdo)
            {
                fotos.Add(foto);
            }
            ViewData["listaFotos"] = fotos;

            if (Session["usuario"] != null && Session["esAdmin"].ToString() == "true" && Session["modoAdmin"].ToString() == "true")
            {
                return(View(rec));
            }
            else
            {
                return(View("./VistaUsuario/Detalles", rec));
            }
        }
        //Filtro
        public ActionResult porEvento(int idEvento)
        {
            RecuerdoCEN            recuerdoCEN    = new RecuerdoCEN();
            IList <RecuerdoEN>     recuerdo       = recuerdoCEN.DameRecuerdosPorProyecto(idEvento);
            IEnumerable <Recuerdo> listaRecuerdos = new AssemblerRecuerdo().ConvertListENToModel(recuerdo).ToList();
            EventoCEN eventoCEN = new EventoCEN();
            EventoEN  evento    = eventoCEN.ReadOID(idEvento);

            ViewData["idevento"]     = idEvento;
            ViewData["nombreEvento"] = evento.Nombre;
            if (TempData.ContainsKey("creado"))
            {
                TempData.Remove("creado");
            }
            if (TempData.ContainsKey("nocreado"))
            {
                TempData.Remove("nocreado");
            }
            if (TempData.ContainsKey("editado"))
            {
                TempData.Remove("editado");
            }


            if (Session["usuario"] != null && Session["esAdmin"].ToString() == "true" && Session["modoAdmin"].ToString() == "true")
            {
                return(View(listaRecuerdos));
            }
            else
            {
                return(View("./VistaUsuario/Recuerdos", listaRecuerdos));
            }
        }
        // GET: Recuerdo/Delete/5
        public ActionResult Delete(int id)
        {
            if (Session["usuario"] == null)
            {
                return(RedirectToAction("Login", "Sesion"));
            }

            RecuerdoCEN recuerdoCEN = new RecuerdoCEN();
            RecuerdoEN  recuerdoEN  = recuerdoCEN.ReadOID(id);

            if (TempData.ContainsKey("creado"))
            {
                TempData.Remove("creado");
            }
            if (TempData.ContainsKey("nocreado"))
            {
                TempData.Remove("nocreado");
            }
            if (TempData.ContainsKey("editado"))
            {
                TempData.Remove("editado");
            }

            ViewData["recuerdo"] = recuerdoEN.Titulo;
            Recuerdo recuerdo = new AssemblerRecuerdo().ConvertENToModelUI(recuerdoEN);

            if (Session["esAdmin"].ToString() == "true" && Session["modoAdmin"].ToString() == "true")
            {
                return(View(recuerdoEN));
            }
            else
            {
                return(View("./VistaUsuario/Borrar", recuerdo));
            }
        }
        // GET: Recuerdo
        public ActionResult Index(int?pag)
        {
            if (Session["usuario"] == null)
            {
                return(RedirectToAction("Login", "Sesion"));
            }
            if (Session["esAdmin"].ToString() == "false")
            {
                return(View("../NoAdministrador"));
            }
            if (Session["modoAdmin"].ToString() == "false")
            {
                Session["modoAdmin"] = "true";
            }

            SessionInitialize();

            RecuerdoCAD cadRec      = new RecuerdoCAD(session);
            RecuerdoCEN recuerdoCEN = new RecuerdoCEN(cadRec);

            int tamPag = 10;

            int numPags = (recuerdoCEN.ReadAll(0, -1).Count - 1) / tamPag;

            if (pag == null || pag < 0)
            {
                pag = 0;
            }
            else if (pag >= numPags)
            {
                pag = numPags;
            }

            ViewData["pag"] = pag;

            ViewData["numeroPaginas"] = numPags;

            int inicio = (int)pag * tamPag;

            IList <RecuerdoEN>     listaRecuerdosEn = recuerdoCEN.ReadAll(inicio, tamPag).ToList();
            IEnumerable <Recuerdo> listaRecuerdos   = new AssemblerRecuerdo().ConvertListENToModel(listaRecuerdosEn).ToList();

            if (TempData.ContainsKey("creado"))
            {
                TempData.Remove("creado");
            }
            if (TempData.ContainsKey("nocreado"))
            {
                TempData.Remove("nocreado");
            }
            if (TempData.ContainsKey("editado"))
            {
                TempData.Remove("editado");
            }

            SessionClose();

            return(View(listaRecuerdos));
        }
        public ActionResult Delete(int id, RecuerdoEN recuerdo)
        {
            if (Session["usuario"] == null)
            {
                return(RedirectToAction("Login", "Sesion"));
            }

            RecuerdoCEN recuerdoCEN = new RecuerdoCEN();
            RecuerdoEN  recuerdoEN  = recuerdoCEN.ReadOID(id);
            Recuerdo    rec         = new AssemblerRecuerdo().ConvertENToModelUI(recuerdoEN);
            int         idE         = rec.IdEvento;

            try
            {
                // TODO: Add delete logic here

                recuerdoCEN.Destroy(id);
                TempData["bien"] = "Se a borrado correctamente el recuerdo " + recuerdo.Titulo;
                if (Session["esAdmin"].ToString() == "true" && Session["modoAdmin"].ToString() == "true")
                {
                    return(RedirectToAction("Index"));
                }
                else
                {
                    return(RedirectToAction("porEvento", new { idEvento = idE }));
                }
            }
            catch
            {
                TempData["mal"] = "Ocurrio un problema al intentar borrar el recuerdo";
                if (Session["esAdmin"].ToString() == "true" && Session["modoAdmin"].ToString() == "true")
                {
                    return(RedirectToAction("Index"));
                }
                else
                {
                    return(RedirectToAction("porEvento", new { idEvento = idE }));
                }
            }
        }