Пример #1
0
        public ActionResult eliminarDeMiLista(int MediaId, string UserId)
        {
            UsuarioRepository  userRepo = new UsuarioRepository(context);
            FavoritoRepository favRepo  = new FavoritoRepository(context);

            //Me Obtengo
            var yo = userRepo.Query(u => u.IdentityId == UserId).FirstOrDefault();
            //Obtengo de favoritos el favorito que contenga mi id y el mediaId
            var eliminar = favRepo.Query(f => f.usuarioId == yo.Id && f.mediaId == MediaId).FirstOrDefault();

            if (eliminar != null)
            {
                favRepo.Delete(eliminar);
                context.SaveChanges();

                return(Json(new
                {
                    Success = true
                }, JsonRequestBehavior.AllowGet));
            }

            return(Json(new
            {
                Success = false
            }, JsonRequestBehavior.AllowGet));
        }
Пример #2
0
        // GET: Serie/Details/5
        public ActionResult Details(int id)
        {
            #region Repositorios necesarios
            SerieRepository    serieRepository    = new SerieRepository(context);
            FavoritoRepository favoritoRepository = new FavoritoRepository(context);
            EpisodioRepository episodioRepository = new EpisodioRepository(context);
            #endregion

            #region Consulta la serie en la bd
            var   relaciones = new Expression <Func <Serie, object> >[] { s => s.Generos, s => s.Actores };
            Serie serie      = serieRepository.QueryIncluding(s => s.MediaId == id, relaciones, "FechaRegistro").SingleOrDefault();


            #endregion

            #region Mapeo de la serie con su view model adecuado
            var model = MapHelper.Map <CompletoSerieViewModel>(serie);

            bool enFav = favoritoRepository.Query(x => x.mediaId == id).Count() > 0;
            if (enFav == true)
            {
                var TodoFav = favoritoRepository.Query(x => x.mediaId == id).First();
                var idFav   = TodoFav.id;
                model.IdFavorito = idFav;
            }
            model.MiFavorito = enFav;
            model.Temporadas = episodioRepository.Query(e => e.SerieId == model.MediaId && e.EstadosMedia == EEstatusMedia.VISIBLE).OrderBy(e => e.Temporada).Select(e => e.Temporada.Value).Distinct().ToArray();
            model.esMovie    = true;
            #endregion

            return(View(model));
        }
Пример #3
0
        public ActionResult AddLista(FavoritoViewModel model)
        {
            FavoritoRepository favRepo  = new FavoritoRepository(context);
            UsuarioRepository  userRepo = new UsuarioRepository(context);

            model.FechaAgregado = DateTime.Now;
            model.usuarioId     = (from u in userRepo.GetAll()
                                   where u.IdentityId == model.UserID
                                   select u.Id).FirstOrDefault();

            #region Validaciones
            //Que Exista Ya en tu lista
            var existFav = favRepo.GetAll().FirstOrDefault(f => f.mediaId == model.mediaId && f.usuarioId == model.usuarioId);

            if (existFav != null)
            {
                return(Json(new
                {
                    Success = false,
                    TypeError = 1
                }, JsonRequestBehavior.AllowGet));
            }
            #endregion
            var favorito = MapHelper.Map <Favorito>(model);

            favRepo.Insert(favorito);

            context.SaveChanges();
            return(Json(new
            {
                Success = true
            }, JsonRequestBehavior.AllowGet));
        }
Пример #4
0
        // GET: Favorito/Delete/5
        public ActionResult Delete(int?id)
        {
            FavoritoRepository repository = new FavoritoRepository(context);
            var persona = repository.Query(t => t.id == id).First();
            var model   = MapHelper.Map <FavoritoViewModel>(persona);

            return(View(model));
        }
 public IActionResult Deletar(int id)
 {
     try
     {
         FavoritoRepository.Deletar(id);
         return(NoContent());
     }
     catch (Exception ex)
     {
         return(BadRequest(new { mensagem = "Oops! Tem coisa errada aqui..." + ex.Message }));
     }
 }
 public IActionResult Cadastrar(Favoritos favorito)
 {
     try
     {
         var usuarioId = UsuarioRepository.Cadastrar(favorito.Usuario);
         favorito.Usuario   = null;
         favorito.IdUsuario = Convert.ToInt32(HttpContext.User.Claims.First(item => item.Type == JwtRegisteredClaimNames.Jti).Value);
         FavoritoRepository.Cadastrar(favorito);
         return(Ok(favorito));
     }
     catch (Exception ex)
     {
         return(BadRequest(new { mensagem = "Oops! Tem coisa errada aqui..." + ex.Message }));
     }
 }
Пример #7
0
        public ActionResult DeleteSerie(int?id, FavoritoViewModel model)
        {
            try
            {
                FavoritoRepository repository = new FavoritoRepository(context);
                var persona = repository.Query(e => e.id == id).First();
                var IdMedia = persona.mediaId;
                repository.Delete(persona);
                context.SaveChanges();

                return(RedirectToAction("Details/" + IdMedia, "Serie"));
            }
            catch
            {
                return(View());
            }
        }
Пример #8
0
        // GET: Favorito/Create
        public ActionResult Create(int?id)
        {
            FavoritoRepository repository        = new FavoritoRepository(context);
            UsuarioRepository  repositoryUsuario = new UsuarioRepository(context);

            try
            {
                var us = Session["UserId"] as string;

                var persona = repository.Query(t => t.mediaId == id).First();
                var model   = MapHelper.Map <FavoritoViewModel>(persona);
                return(View(model));
            }
            catch (Exception ex)
            {
            }
            return(View());
        }
Пример #9
0
 public ActionResult Create(bool esFalse, int?id, FavoritoViewModel model)
 {
     try
     {
         if (ModelState.IsValid)
         {
             FavoritoRepository repository  = new FavoritoRepository(context);
             MediaRepository    repository2 = new MediaRepository(context);
             UsuarioRepository  repositori3 = new UsuarioRepository(context);
             var user     = User.Identity.GetUserId();
             var dia      = DateTime.Now;
             var usuarios = repositori3.Query(u => u.IdentityId.Equals(user)).First();
             var idMedia  = repository2.Query(x => x.MediaId == id).First();
             #region Validacion de id de media
             var Validacion = new Favorito {
                 mediaId = id
             };
             bool Existeid = repository.Query(x => x.mediaId == id).Count() > 0;
             if (Existeid)
             {
                 return(RedirectToAction("Details/" + id, "MovieCatalogo"));
             }
             #endregion
             model.esMovie       = esFalse;
             model.media         = idMedia;
             model.usuario       = usuarios;
             model.FechaAgregado = dia;
             //model.usuario = UsuariosId;
             Favorito persona = MapHelper.Map <Favorito>(model);
             repository.Insert(persona);
             context.SaveChanges();
         }
         if (esFalse == true)
         {
             return(RedirectToAction("Details/" + id, "Serie"));
         }
         return(RedirectToAction("Details/" + id, "MovieCatalogo"));
     }
     catch (Exception ex)
     {
         ModelState.AddModelError("", ex.Message);
         return(View());
     }
 }
Пример #10
0
        // GET: Favorito
        public ActionResult Index(int page = 1, string busqueda = null, string genero = null, int pageSize = 3)
        {
            MediaViewModel     media      = new MediaViewModel();
            MediaRepository    mediaRepo  = new MediaRepository(context);
            FavoritoRepository repository = new FavoritoRepository(context);
            var includes = new Expression <Func <Media, object> >[] { s => s.Generos };
            var lst      = repository.Query(x => x.media.EstadosMedia == EEstatusMedia.VISIBLE).OrderBy(x => x.media.Nombre);
            int totalDePaginas;
            int totalDeFilas;
            ICollection <Media> movies;

            movies = mediaRepo.QueryPageByNombreAndGeneroIncluding(busqueda, genero, includes, out totalDePaginas, out totalDeFilas, "Nombre", page - 1, pageSize);

            ViewBag.Busqueda = busqueda;
            ViewBag.Genero   = genero;
            var paginador = new PaginatorViewModel <MediaViewModel>();

            paginador.Page       = page;
            paginador.PageSize   = pageSize;
            paginador.Results    = MapHelper.Map <ICollection <MediaViewModel> >(movies);
            paginador.TotalPages = totalDePaginas;
            paginador.TotalRows  = totalDeFilas;
            return(View(paginador));
        }
        // GET: Genero/Details/5
        public ActionResult Details(int id)
        {
            MovieRepository    repository         = new MovieRepository(context);
            GeneroRepository   GeneroRepository   = new GeneroRepository(context);
            PersonaRepository  PersonaRepository  = new PersonaRepository(context);
            FavoritoRepository FavoritoRepository = new FavoritoRepository(context);
            var includes = new Expression <Func <Movie, object> >[] { s => s.Actores, s => s.Generos };

            var  movie   = repository.QueryIncluding(x => x.MediaId == id, includes).SingleOrDefault();
            var  model   = MapHelper.Map <MovieViewModel>(movie);
            bool enFav   = FavoritoRepository.Query(x => x.mediaId == id).Count() > 0;
            bool enMedia = FavoritoRepository.Query(x => x.mediaId == id).Count() < 0;

            if (enFav == true)
            {
                var TodoFav      = FavoritoRepository.Query(x => x.mediaId == id).First();
                var ValidacionMe = repository.Query(x => x.MediaId == id).Count() > 0;
                if (ValidacionMe == false)
                {
                    return(RedirectToAction("Details/" + id, "Serie"));
                }
                var idFav = TodoFav.id;
                model.IdFavorito = idFav;
            }
            model.esMovie = enMedia;
            var generos = GeneroRepository.Query(g => g.Activo == true);
            var actores = PersonaRepository.Query(a => a.Status == true);

            model.GenerosDisponibles   = MapHelper.Map <ICollection <GeneroViewModel> >(generos);
            model.GenerosSeleccionados = movie.Generos.Select(g => g.GeneroId.Value).ToArray();
            model.ActoresDisponibles   = MapHelper.Map <ICollection <PersonaViewModel> >(actores);
            model.ActoresSeleccionados = movie.Actores.Select(a => a.Id.Value).ToArray();
            model.MiFavorito           = enFav;

            return(View(model));
        }
Пример #12
0
        public ActionResult Index(int?idg, string nombre = "", int paginado = 40, string UserId = "")
        {
            if (paginado <= 0)
            {
                paginado = 40;
            }


            //paginacion
            int totalPages = 0;
            int totalRows  = 0;
            int pageSize   = paginado;
            int page       = Request.QueryString["page"] == null ? 1 : int.Parse(Request.QueryString["page"]);

            MediaRepository    mediaRepo        = new MediaRepository(context);
            GeneroRepository   generoRepository = new GeneroRepository(context);
            UsuarioRepository  userRepo         = new UsuarioRepository(context);
            FavoritoRepository favRepo          = new FavoritoRepository(context);

            var yo = userRepo.Query(u => u.IdentityId == UserId).FirstOrDefault();

            var misFavoritos = favRepo.Query(f => f.usuarioId == yo.Id);

            var genero = generoRepository.Query(g => g.Eliminado == false);

            Expression <Func <Media, bool> > expr = m => m.estado == EEstatusMedia.VISIBLE;

            int count = 0;

            foreach (var item in misFavoritos)
            {
                if (count == 0)
                {
                    expr = expr.And(m => m.id == item.mediaId);
                    count++;
                }
                else
                {
                    expr = expr.Or(m => m.id == item.mediaId);
                }
            }

            if (idg != null)
            {
                expr = expr.And(x => x.Generos.Any(y => y.Id == idg));
            }

            expr = expr.And(m => m.estado == EEstatusMedia.VISIBLE && m.nombre.Contains(nombre));

            var lst = mediaRepo.QueryPage(expr, out totalPages, out totalRows, "Nombre", page - 1, pageSize);

            var models = MapHelper.Map <IEnumerable <MediaViewModel> >(lst);

            var model = new PaginatorViewModel <MediaViewModel>
            {
                Page       = page,
                TotalPages = totalPages,
                TotalRows  = totalRows,
                PageSize   = pageSize,
                Results    = models
            };

            ViewBag.ListaGenero = GeneroList(genero);
            ViewBag.Nombre      = nombre;
            ViewBag.Idg         = idg + "";
            ViewBag.Paginado    = paginado + "";
            ViewBag.UserId      = UserId;
            ViewBag.numList     = misFavoritos.Count();

            return(View(model));
        }
Пример #13
0
 public IActionResult Listar()
 {
     return(Ok(FavoritoRepository.Listar()));
 }
Пример #14
0
 public FavoritosController()
 {
     FavoritoRepository = new FavoritoRepository();
     UsuarioRepository  = new UsuarioRepository();
 }