Ejemplo n.º 1
0
        public async Task <ActionResult> CreateProposal(string TmdbUrl)
        {
            var success     = false;
            var message     = Resources.ErrorGeneral;
            var redirectUrl = "";

            var tmdbMovieID = TmdbAssistant.ExtractTmdbID(TmdbUrl);

            if (!string.IsNullOrWhiteSpace(tmdbMovieID))
            {
                var proposal = MovieProposalRepo.GetSingle(TmdbMovieID: tmdbMovieID);
                if (proposal == null)
                {
                    var tmdbMovie = await TmdbAssistant.GetMovieAsync(tmdbMovieID);

                    if (tmdbMovie != null)
                    {
                        var xml = MovieProposal.BuildXmlForTX(CurrentUser.ID,
                                                              tmdbMovie.PremiereCountryIso,
                                                              tmdbMovie.Title,
                                                              tmdbMovie.Title.Replace(" ", "-"),
                                                              tmdbMovie.Overview,
                                                              "https://www.themoviedb.org/movie/" + tmdbMovieID,
                                                              tmdbMovieID,
                                                              tmdbMovie.ReleaseYear,
                                                              tmdbMovie.PosterUrl,
                                                              "http://youtu.be/" + tmdbMovie.YoutubeTrailer,
                                                              false,
                                                              tmdbMovie.RuntimeMinutes,
                                                              tmdbMovie.GenreCodes);

                        MovieProposalRepo.TX(0, xml);

                        if (!MovieProposalRepo.IsError && MovieProposalRepo.ID > 0)
                        {
                            success     = true;
                            message     = Resources.SuccessCreateMovieProposal;
                            redirectUrl = Url.Action("Proposal", "Movies", new { MovieProposalRepo.ID });
                        }
                    }
                    else
                    {
                        message = Resources.ErrorUrlInvalid;
                    }
                }
                else
                {
                    message = Resources.ErrorDuplicateMovieProposal +
                              string.Format(" <a href=\"{0}\" target=\"_blank\">{1}</a>", Url.Action("Proposal", new { proposal.ID }), proposal.Title);
                }
            }
            else
            {
                message = Resources.ErrorUrlInvalid;
            }

            return(Json(new { Success = success, Message = message, RedirectUrl = redirectUrl }, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 2
0
        public ActionResult UserProposals()
        {
            var model = MovieProposalRepo.GetList(CurrentUser.ID)
                        .OrderByDescending(p => p.AverageRating)
                        .ThenByDescending(p => p.ReviewCount)
                        .ToList();

            return(PartialView("ProposalList", model));
        }
Ejemplo n.º 3
0
        public ActionResult Proposal(int ID)
        {
            var model = MovieProposalRepo.GetSingle(ID);

            if (model != null)
            {
                return(View(model));
            }
            return(HttpNotFound());
        }
Ejemplo n.º 4
0
        public ActionResult Proposals(MovieProposalSortOrder?Order, string Term)
        {
            Order = Order ?? MovieProposalSortOrder.TopRated;
            var model = MovieProposalRepo.Search(Term, Order.Value);

            ViewBag.SortOrder  = Order;
            ViewBag.SearchTerm = Term;

            return(View(model));
        }
Ejemplo n.º 5
0
        public ActionResult Index()
        {
            var db = new Movie();

            var fromDate = DateTime.Now;
            var model    = db.ListMoviesBySession(fromDate, fromDate.AddDays(1));

            ViewBag.News         = NewsRepo.GetTop(3);
            ViewBag.TopProposals = MovieProposalRepo.Search(SortOrder: MovieProposalSortOrder.TopRated, TakeQuantity: 10);
            ViewBag.NewProposals = MovieProposalRepo.Search(SortOrder: MovieProposalSortOrder.Newest, TakeQuantity: 10);

            return(View(model));
        }
Ejemplo n.º 6
0
        public ActionResult LoadProposals(MovieProposalSortOrder?Order, string Term, int Skip)
        {
            var model = MovieProposalRepo.Search(Term, Order ?? MovieProposalSortOrder.TopRated, Skip);

            return(PartialView("ProposalList", model));
        }