Example #1
0
        // GET: ManageEpisodio
        public ActionResult Index(int id)
        {
            VideoOnDemandContext context            = new VideoOnDemandContext();
            EpisodioRepository   episodioRepository = new EpisodioRepository(context);
            SerieRepository      serieRepository    = new SerieRepository(context);

            // Consultar los episodios de la serie asignada
            var lstEpisodio = episodioRepository.Query(e => e.serieId.Value == id && e.estado != EEstatusMedia.ELIMINADO).OrderBy(e => e.numEpisodio).OrderBy(e => e.temporada);

            // Mapear la lista de series con una lista de SerieViewModel
            var models = MapHelper.Map <IEnumerable <EpisodioViewModel> >(lstEpisodio);

            ViewBag.Serie   = serieRepository.Query(s => s.id == id).FirstOrDefault().nombre;
            ViewBag.SerieId = serieRepository.Query(s => s.id == id).FirstOrDefault().id;

            return(View(models));
        }
        // GET: ManageSerie
        public ActionResult Index()
        {
            SerieRepository repository = new SerieRepository(context);
            var             lst        = repository.Query(s => s.EstadosMedia == EEstatusMedia.VISIBLE | s.EstadosMedia == EEstatusMedia.INVISIBLE);
            var             models     = MapHelper.Map <IEnumerable <SerieViewModel> >(lst);

            return(View(models));
        }
Example #3
0
        // GET: ManageSerie/Delete/5
        public ActionResult Delete(int id)
        {
            SerieRepository serieRepository = new SerieRepository(context);

            var serie = serieRepository.Query(s => s.id == id).First();

            var model = MapHelper.Map <SerieViewModel>(serie);

            return(View(model));
        }
Example #4
0
        public ActionResult Edit(int id, SerieViewModel model)
        {
            model = LinkLists(model);

            try
            {
                var serieRepository = new SerieRepository(context);

                if (ModelState.IsValid)
                {
                    var serie = serieRepository.Query(s => s.id == id).First();
                    serie = Update(serie, model);
                    var lstSerie = serieRepository.Query(s => s.estado != EEstatusMedia.ELIMINADO);
                    foreach (var s in lstSerie)
                    {
                        if (s.id != id)
                        {
                            if (s.nombre.ToLower() == serie.nombre.ToLower())
                            {
                                if (s.fechaLanzamiento == serie.fechaLanzamiento)
                                {
                                    model         = MapHelper.Map <SerieViewModel>(serie);
                                    model         = LinkLists(model);
                                    ViewBag.Error = 1;
                                    return(Edit(id));
                                }
                            }
                        }
                    }
                    serieRepository.UpdateComplete(serie, model.GenerosSeleccionados, model.PersonasSeleccionadas);
                    context.SaveChanges();
                    return(RedirectToAction("Index"));
                }

                return(Edit(id));
            }
            catch
            {
                return(Edit(id));
            }
        }
Example #5
0
        // GET: ManageSerie/Edit/5
        public ActionResult Edit(int id)
        {
            SerieRepository serieRepository = new SerieRepository(context);

            var serie = serieRepository.Query(t => t.id == id).First();

            var model = MapHelper.Map <SerieViewModel>(serie);

            model = LinkLists(model);

            return(View(model));
        }
Example #6
0
        // GET: ManageEpisodio/Create
        public ActionResult Create(int id)
        {
            var model = new EpisodioViewModel();

            SerieRepository serieRepository = new SerieRepository(context);

            var serie = serieRepository.Query(s => s.id == id).FirstOrDefault();

            model.Serie   = MapHelper.Map <SerieViewModel>(serie);
            model.serieId = id;

            model.estado = EEstatusMedia.VISIBLE;

            ViewBag.Serie = serie.nombre;

            return(View(model));
        }
Example #7
0
        public ActionResult Delete(int id, SerieViewModel model)
        {
            try
            {
                // TODO: Add delete logic here
                var serieRepository = new SerieRepository(context);

                var serie = serieRepository.Query(s => s.id == id).First();

                serieRepository.LogicalDelete(serie);
                context.SaveChanges();
                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View(model));
            }
        }
Example #8
0
        public ActionResult Create(SerieViewModel model)
        {
            model             = LinkLists(model);
            model.duracionMin = 0;

            try
            {
                // TODO: Add insert logic here
                if (ModelState.IsValid)
                {
                    SerieRepository repository = new SerieRepository(context);
                    Serie           serie      = MapHelper.Map <Serie>(model);
                    var             lstSerie   = repository.Query(s => s.estado != EEstatusMedia.ELIMINADO);
                    foreach (var s in lstSerie)
                    {
                        if (s.nombre.ToLower() == serie.nombre.ToLower())
                        {
                            if (s.fechaLanzamiento == serie.fechaLanzamiento)
                            {
                                ViewBag.Error = 1;
                                return(Create());
                            }
                        }
                    }
                    repository.InsertComplete(serie, model.GenerosSeleccionados, model.PersonasSeleccionadas);

                    context.SaveChanges();
                    return(RedirectToAction("Index"));
                }
                else
                {
                    return(Create());
                }
            }
            catch
            {
                return(Create());
            }
        }
Example #9
0
        // GET: ManageSerie
        public ActionResult Index(int?idGenero, string nombre = "")
        {
            SerieRepository  serieRepository  = new SerieRepository(context);
            GeneroRepository generoRepository = new GeneroRepository(context);
            var genero = generoRepository.Query(g => g.Eliminado == false, "Nombre");

            Expression <Func <Serie, bool> > expr = m => m.estado != EEstatusMedia.ELIMINADO;

            if (idGenero != null)
            {
                expr = expr.And(x => x.Generos.Any(y => y.Id == idGenero));
            }
            if (!string.IsNullOrEmpty(nombre))
            {
                expr = expr.And(x => x.nombre.Contains(nombre));
            }
            var lst       = serieRepository.Query(expr, "Nombre");
            var model     = MapHelper.Map <IEnumerable <SerieViewModel> >(lst);
            var lstGenero = generoRepository.Query(g => g.Eliminado == false, "Nombre");

            ViewBag.ListaGenero = GeneroList(lstGenero);

            return(View(model));
        }
Example #10
0
        public ActionResult Details(int id)
        {
            SerieRepository   repository        = new SerieRepository(context);
            OpinionRepository reseniaRepository = new OpinionRepository(context);
            UsuarioRepository userRepo          = new UsuarioRepository(context);

            var serie     = repository.Query(t => t.id == id).First();
            var opiniones = reseniaRepository.GetAll();
            var resenias  = from o in opiniones
                            where o.Media.id == serie.id
                            select o;

            var model = MapHelper.Map <SerieViewModel>(serie);
            int count = 0;

            foreach (var item in resenias)
            {
                item.Usuario = userRepo.GetAll().FirstOrDefault(u => u.Id == item.UsuarioId);
                count++;
            }

            ViewBag.CountResenias = count;
            return(View(model));
        }
Example #11
0
        public ActionResult Create(EpisodioViewModel model)
        {
            try
            {
                // TODO: Add insert logic here
                EpisodioRepository episodioRepository = new EpisodioRepository(context);
                SerieRepository    serieRepository    = new SerieRepository(context);

                if (ModelState.IsValid)
                {
                    var serie    = serieRepository.Query(s => s.id == model.id).First();
                    var episodio = MapHelper.Map <Episodio>(model);

                    var lstEpisodios = episodioRepository.Query(e => e.serieId == model.id);

                    context.Entry(serie).Collection(s => s.Generos).Load();
                    context.Entry(serie).Collection(s => s.Actores).Load();

                    episodio.Serie         = serie;
                    episodio.serieId       = model.id;
                    episodio.Actores       = serie.Actores;
                    episodio.Generos       = serie.Generos;
                    episodio.fechaRegistro = DateTime.Now;

                    ViewBag.Serie = serie.nombre;

                    #region Validaciones
                    foreach (var e in lstEpisodios)
                    {
                        if (e.nombre.ToLower() == episodio.nombre.ToLower())
                        {
                            if (e.fechaLanzamiento == episodio.fechaLanzamiento)
                            {
                                ViewBag.Error = 1;
                                return(Create(model.id));
                            }
                        }
                        if (e.temporada == episodio.temporada)
                        {
                            if (e.numEpisodio == episodio.numEpisodio)
                            {
                                ViewBag.Error = 2;
                                return(Create(model.id));
                            }
                        }
                    }
                    #endregion

                    episodioRepository.Insert(episodio);

                    context.SaveChanges();

                    return(RedirectToAction("Index", new { id = episodio.serieId }));
                }

                return(Create(model.id));
            }
            catch
            {
                return(Create(model.id));
            }
        }
Example #12
0
        public ActionResult Delete(int id, GeneroViewModel model)
        {
            try
            {
                GeneroRepository repo = new GeneroRepository(context);


                var genero = repo.Query(g => g.Id == id).FirstOrDefault();
                context.Entry(genero).Collection(g => g.Medias).Load();

                if (genero.Medias.Count() == 0)
                {
                    repo.LogicalDelete(genero);
                    context.SaveChanges();
                    return(RedirectToAction("Index"));
                }
                else
                {
                    List <lstMedias> lista = new List <lstMedias>();
                    var repository         = new MovieRepository(context);
                    var repository2        = new SerieRepository(context);

                    foreach (var media in genero.Medias)
                    {
                        var mov = repository.Query(m => m.id == media.id && media.estado != EEstatusMedia.ELIMINADO);
                        var ser = repository2.Query(s => s.id == media.id && media.estado != EEstatusMedia.ELIMINADO);

                        if (mov.Count() == 1)
                        {
                            lista.Add(new lstMedias()
                            {
                                id = media.id, nombre = media.nombre, tipo = "PelĂ­cula"
                            });
                        }
                        else if (ser.Count() == 1)
                        {
                            lista.Add(new lstMedias()
                            {
                                id = media.id, nombre = media.nombre, tipo = "Serie"
                            });
                        }
                    }

                    if (lista.Count == 0)
                    {
                        repo.LogicalDelete(genero);
                        context.SaveChanges();
                        return(RedirectToAction("Index"));
                    }

                    ViewData["inUsing"] = lista;
                    ViewBag.Error       = 1;
                    model = MapHelper.Map <GeneroViewModel>(genero);
                    return(Delete(genero.Id));
                }
            }
            catch
            {
                return(View());
            }
        }