Example #1
0
        public async Task <IActionResult> AddToCart(int id, [FromQuery] int count, [FromQuery] string returnUrl)
        {
            FilmDTO filmDTO = await _orderService.GetFilmAsync(id);

            var                  mapper = MapperService.CreateFilmDTOToFilmViewModelMapper();
            FilmViewModel        film   = mapper.Map <FilmDTO, FilmViewModel>(filmDTO);
            List <FilmViewModel> films  = new List <FilmViewModel>();

            if (returnUrl == null)
            {
                returnUrl = "~/Home/Index";
            }

            for (int i = 0; i < count; i++)
            {
                films.Add(film);
            }

            AddFilmsToCart("CartFilms", films);
            if (returnUrl.Contains("Cart"))
            {
                return(RedirectToAction("Cart"));
            }
            return(Redirect(returnUrl));
        }
Example #2
0
        public IActionResult Cart()
        {
            decimal sum = 0;
            IEnumerable <FilmViewModel> films = GetFilmsFromCart("CartFilms");

            if (films == null)
            {
                return(View(null));
            }

            IEnumerable <FilmViewModel> filmsDistinct =
                films.GroupBy(film => film.Id)
                .Select(group => group.FirstOrDefault())
                .OrderBy(f => f.Name);
            var mapper = MapperService.CreateFilmDTOToFilmViewModelMapper();

            ViewBag.FilmsDistinctAmount = new Dictionary <string, int>();

            foreach (var film in films)
            {
                sum += film.Price;
            }
            foreach (var film in filmsDistinct)
            {
                ViewBag.FilmsDistinctAmount[film.Name] = films.Where(f => f.Id == film.Id).Count();
            }
            ViewBag.Sum = sum;

            return(View(filmsDistinct));
        }
Example #3
0
        public async Task <ViewResult> FilmDetails(int id)
        {
            var film = await _orderService.GetFilmAsync(id);

            var mapper   = MapperService.CreateFilmDTOToFilmViewModelMapper();
            var viewFilm = mapper.Map <FilmDTO, FilmViewModel>(film);

            return(View(viewFilm));
        }
Example #4
0
        public IActionResult History(int page = 1)
        {
            var mapper    = MapperService.CreateFilmDTOToFilmViewModelMapper();
            var count     = _orderService.GetPurchases(name: HttpContext.User.Identity.Name).Count();
            var purchases = mapper.Map <IEnumerable <PurchaseDTO>, IEnumerable <PurchaseViewModel> >(_orderService.GetPurchases(page, 7, name: HttpContext.User.Identity.Name));
            var table     = new TableViewModel <PurchaseViewModel>
            {
                PageViewModel = new Models.TableLogic.PageViewModel(count, page, 7),
                Items         = purchases
            };

            return(View(table));
        }
Example #5
0
        public IActionResult DownloadPurchasesJson()
        {
            var mapper = MapperService.CreateFilmDTOToFilmViewModelMapper();
            IEnumerable <PurchaseDTO> purchasesDTO = _orderService.GetPurchases();
            var purchaseViewModels = mapper
                                     .Map <IEnumerable <PurchaseDTO>, IEnumerable <PurchaseViewModel> >(purchasesDTO);

            string purchasesJson = JsonConvert.SerializeObject(purchaseViewModels);

            byte[]       bytes  = Encoding.ASCII.GetBytes(purchasesJson);
            MemoryStream stream = new MemoryStream(bytes);

            return(File(stream, "Application/octet-stream", "purchases.json"));
        }
Example #6
0
        public IActionResult Index()
        {
            var mapper      = MapperService.CreateFilmDTOToFilmViewModelMapper();
            var latestFilms = mapper.Map <IEnumerable <FilmDTO>, IEnumerable <FilmViewModel> >(_orderService.GetFilms(page: 0, filmStatus: DAL.Entities.FilmStatus.CameOut));

            latestFilms    = latestFilms.OrderByDescending(f => f.Id).Take(5).ToList();
            ViewBag.Latest = latestFilms;

            var comingSoon = mapper.Map <IEnumerable <FilmDTO>, IEnumerable <FilmViewModel> >(_orderService.GetFilms(page: 0, filmStatus: DAL.Entities.FilmStatus.ComingSoon));

            comingSoon         = comingSoon.OrderByDescending(f => f.Id).Take(5).ToList();
            ViewBag.ComingSoon = comingSoon;

            return(View());
        }
Example #7
0
        public async Task <ViewResult> Edit(int Id)
        {
            var film = await _orderService.GetFilmAsync(Id);

            var mapper = MapperService.CreateFilmDTOToFilmViewModelMapper();

            var filmViewModel = mapper.Map <FilmDTO, FilmViewModel>(film);

            ViewBag.Genres     = genres;
            ViewBag.Countries  = countries;
            ViewBag.Producers  = producers;
            ViewBag.FilmStatus = new List <SelectListItem>
            {
                new SelectListItem("Coming Soon", FilmStatus.ComingSoon.ToString()),
                new SelectListItem("Came out", FilmStatus.CameOut.ToString())
            };
            return(View(filmViewModel));
        }
Example #8
0
        public IActionResult Purchases(string searchString, int page = 1)
        {
            var mapper    = MapperService.CreateFilmDTOToFilmViewModelMapper();
            var purchases = mapper.Map <IEnumerable <PurchaseDTO>, IEnumerable <PurchaseViewModel> >(_orderService.GetPurchases(page, 7, searchString));
            var count     = _orderService.GetPurchases(searchString: searchString).Count();

            ViewBag.Status = new List <SelectListItem>
            {
                new SelectListItem("Pending", Status.Pending.ToString()),
                new SelectListItem("Confirmed", Status.Confirmed.ToString()),
                new SelectListItem("Rejected", Status.Rejected.ToString())
            };
            var items = new TableViewModel <PurchaseViewModel>
            {
                PageViewModel = new Models.TableLogic.PageViewModel(count, page, 7),
                Filter        = new Models.TableLogic.SearchViewModel(),
                Items         = purchases
            };

            items.Filter.SearchString = searchString;
            return(View(items));
        }
Example #9
0
        public IActionResult Search(string searchString, string genre, string country, string producer,
                                    string yearFrom, string yearTo, string returnUrl, int page = 1, SortState sortOrder = SortState.NameAsc)
        {
            int        pageSize = 5;
            FilmStatus status;

            if (returnUrl == "/Admin/Admin")
            {
                status = 0;
            }
            else
            {
                status = FilmStatus.CameOut;
            }

            var mapper         = MapperService.CreateFilmDTOToFilmViewModelMapper();
            var filmDTOs       = _orderService.GetFilms(searchString, genre, country, producer, yearFrom, yearTo, page, pageSize, sortOrder, status);
            var filmViewModels = mapper.Map <IEnumerable <FilmDTO>, IEnumerable <FilmViewModel> >(filmDTOs);

            TableViewModel <FilmViewModel> res = new TableViewModel <FilmViewModel>
            {
                PageViewModel = new PageViewModel(_orderService.FilmsCount(), page, pageSize),
                SortViewModel = new SortViewModel(sortOrder),
                Items         = filmViewModels
            };

            switch (returnUrl)
            {
            case "/Admin/Admin":
                return(PartialView("Search", res));

            case "/Order/Products":
                return(PartialView("ProductsSearch", res));

            default:
                return(Redirect("~/Home/Index"));
            }
        }