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); }
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); }
/// <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)); }
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); }
public ActionResult Index() { FilmsVM vm = _filmService.GetFilmVMs(); return(View(vm)); }
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()); } }