Пример #1
0
        public List <GenresOfFilmVM> GetAll()
        {
            List <GenresOfFilmVM>      filmsVM = new List <GenresOfFilmVM>();
            IEnumerable <GenresOfFilm> films   = _unitOfWork.GenresOfFilm.GetAll();

            MapperConfiguration filmConfig = new MapperConfiguration(cfg =>
            {
                cfg.CreateMap <Films, FilmsVM>();
            });
            IMapper filmMap = filmConfig.CreateMapper();

            MapperConfiguration genresConfig = new MapperConfiguration(cfg =>
            {
                cfg.CreateMap <Genres, GenresVM>();
            });
            IMapper genresMap = genresConfig.CreateMapper();

            foreach (GenresOfFilm f in films)
            {
                FilmsVM  filmVM  = filmMap.Map <Films, FilmsVM>(f.Films);
                GenresVM genreVM = genresMap.Map <Genres, GenresVM>(f.Genres);


                filmsVM.Add(new GenresOfFilmVM {
                    Id = f.Id, IdFilm = f.IdFilm, IdGenre = f.IdGenre, Films = filmVM, Genres = genreVM
                });
            }

            return(filmsVM);
        }
Пример #2
0
        public List <ActorsOfFilmVM> GetAll()
        {
            List <ActorsOfFilmVM>      filmsVM = new List <ActorsOfFilmVM>();
            IEnumerable <ActorsOfFilm> films   = _unitOfWork.ActorsOfFilm.GetAll();

            MapperConfiguration filmConfig = new MapperConfiguration(cfg =>
            {
                cfg.CreateMap <Films, FilmsVM>();
            });
            IMapper filmMap = filmConfig.CreateMapper();

            MapperConfiguration actorsConfig = new MapperConfiguration(cfg =>
            {
                cfg.CreateMap <Actors, ActorsVM>();
            });
            IMapper actorsMap = actorsConfig.CreateMapper();

            foreach (ActorsOfFilm f in films)
            {
                FilmsVM  filmVM  = filmMap.Map <Films, FilmsVM>(f.Films);
                ActorsVM actorVM = actorsMap.Map <Actors, ActorsVM>(f.Actors);


                filmsVM.Add(new ActorsOfFilmVM {
                    Id = f.Id, IdFilm = f.IdFilm, IdActor = f.IdActor, Films = filmVM, Actors = actorVM
                });
            }

            return(filmsVM);
        }
Пример #3
0
        /// <summary>
        /// Универсальный метод для создания и изменения (Создал потому что не хотел каждый раз повторять код)
        /// Если это Edit то айди передаем
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        // GET: FilmsController/Create
        public ActionResult CreateOrEdit(int?id)
        {
            IEnumerable <Category> CatList = _db.Categories.ToList();
            FilmsVM filmVM = new FilmsVM()
            {
                Film         = new Film(),
                CategoryList = CatList.Select(i => new SelectListItem
                {
                    Text  = i.Name,
                    Value = i.Id.ToString()
                })
            };

            if (id == null)
            {
                //this is for create
                return(View(filmVM));
            }
            //this is for edit
            filmVM.Film = _db.Films.Find(id.GetValueOrDefault());
            if (filmVM.Film == null)
            {
                return(NotFound());
            }
            return(View(filmVM));
        }
Пример #4
0
        public List <ReviewsVM> GetAll()
        {
            List <ReviewsVM>      reviewsVM = new List <ReviewsVM>();
            IEnumerable <Reviews> reviews   = _unitOfWork.Reviews.GetAll();

            MapperConfiguration filmConfig = new MapperConfiguration(cfg =>
            {
                cfg.CreateMap <Films, FilmsVM>();
            });
            IMapper filmMap = filmConfig.CreateMapper();

            MapperConfiguration userConfig = new MapperConfiguration(cfg =>
            {
                cfg.CreateMap <ApplicationUser, ApplicationUserVM>();
            });
            IMapper userMap = userConfig.CreateMapper();

            foreach (Reviews f in reviews) //
            {
                FilmsVM           filmVM  = filmMap.Map <Films, FilmsVM>(f.Films);
                ApplicationUserVM genreVM = userMap.Map <ApplicationUser, ApplicationUserVM>(f.Users);

                reviewsVM.Add(new ReviewsVM {
                    Id = f.Id, IdFilm = f.IdFilm, IdAuthor = f.IdAuthor, Date = f.Date, Feedback = f.Feedback, Films = filmVM, Users = genreVM
                });
            }

            return(reviewsVM);
        }
Пример #5
0
        public ActionResult Index()
        {
            FilmsVM vm = _filmService.GetFilmVMs();

            return(View(vm));
        }
Пример #6
0
        public ActionResult CreateOrEdit(FilmsVM filmVm)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    string webRootPath = _hostEnvironment.WebRootPath;
                    var    files       = HttpContext.Request.Form.Files;
                    if (files.Count > 0)
                    {
                        string fileName   = Guid.NewGuid().ToString();
                        var    uploads    = Path.Combine(webRootPath, @"images\film");
                        var    extenstion = Path.GetExtension(files[0].FileName);

                        if (filmVm.Film.Poster != null)
                        {
                            //это для edit и мы удаляем старое изображение
                            var imagePath = Path.Combine(webRootPath, filmVm.Film.Poster.TrimStart('\\'));
                            if (System.IO.File.Exists(imagePath))
                            {
                                System.IO.File.Delete(imagePath);
                            }
                        }
                        using (var filesStreams = new FileStream(Path.Combine(uploads, fileName + extenstion), FileMode.Create))
                        {
                            files[0].CopyTo(filesStreams);
                        }
                        filmVm.Film.Poster = @"\images\film\" + fileName + extenstion;
                    }
                    else
                    {
                        //Если мы не обновляем изображение
                        if (filmVm.Film.Id != 0)
                        {
                            Film objFromDb = _db.Films.AsNoTracking().FirstOrDefault(s => s.Id == filmVm.Film.Id);
                            filmVm.Film.Poster = objFromDb?.Poster;
                        }
                    }
                    var userId = HttpContext.User.FindFirst(ClaimTypes.NameIdentifier)?.Value;
                    if (userId == null)
                    {
                        return(RedirectToAction("Index", "Home"));
                    }
                    filmVm.Film.UserId = userId;

                    if (filmVm.Film.Id == 0)
                    {
                        _db.Films.Add(filmVm.Film);
                    }
                    else
                    {
                        _db.Films.Update(filmVm.Film);
                    }

                    _db.SaveChanges();
                    return(RedirectToAction("Index", "Home"));
                }

                IEnumerable <Category> CatList = _db.Categories.ToList();
                filmVm.CategoryList = CatList.Select(i => new SelectListItem
                {
                    Text  = i.Name,
                    Value = i.Id.ToString()
                });

                if (filmVm.Film.Id != 0)
                {
                    filmVm.Film = _db.Films.Find(filmVm.Film.Id);
                }

                return(View(filmVm));
            }
            catch
            {
                return(View());
            }
        }