public ActionResult AddFilm() { AddFilmViewModel vm = new AddFilmViewModel(); vm.category = db.Categories.ToList(); vm.film = new Films(); return(View(vm)); }
/// <summary> /// This Action loads genres data and send it AddFilm view /// </summary> /// <returns>return IActionResult as response for the request</returns> public IActionResult AddFilm() { var genres = _uow.GenreRepository.Get(); var genreViewModel = new AddFilmViewModel { Genres = genres }; return(View(genreViewModel)); }
public ActionResult UpdateFilm(int filmId) { AddFilmViewModel vm = new AddFilmViewModel(); vm.category = db.Categories.ToList(); vm.source = db.Sources.FirstOrDefault(s => s.SFId == filmId); var film = db.Films.Find(filmId); if (film == null) { return(HttpNotFound()); } vm.film = film; return(View("AddFilm", vm)); }
public async Task <IActionResult> AddFilm(IFormCollection form, AddFilmViewModel addFilmViewModel) { if (!ModelState.IsValid) { var genres = _uow.GenreRepository.Get(); var genreViewModel = new AddFilmViewModel { Genres = genres }; return(View(genreViewModel)); } var uploads = Path.Combine(_appEnvironment.WebRootPath, "img", addFilmViewModel.PostedFile.FileName); await using (var fileStream = new FileStream(uploads, FileMode.Create)) { await addFilmViewModel.PostedFile.CopyToAsync(fileStream); } var filmEntity = new Film { Title = addFilmViewModel.Film.Title, Length = addFilmViewModel.Film.Length, Url = addFilmViewModel.PostedFile.FileName, Description = addFilmViewModel.Film.Description, }; _uow.FilmRepository.Add(filmEntity); if (form["SelectedGenre"].Count > 0) { foreach (var filmGenre in form["SelectedGenre"].Select(item => _uow.GenreRepository.GetById(int.Parse(item))).Where(a => a.Deleted == 0).Select(genre => new FilmGenre { Film = filmEntity, Genre = genre }).Where(a => a.Deleted == 0)) { _uow.FilmGenreRepository.Add(filmGenre); } } _uow.Commit(); return(RedirectToAction("Film")); }
/// <summary> /// get information from storage and send it to EditFilm View /// </summary> /// <param name="filmId">receive FilmId as a parameter</param> /// <returns>return IActionResult as response for the request</returns> public IActionResult EditFilm(int filmId) { var film = _uow.FilmRepository.GetById(filmId); var genres = _uow.GenreRepository.Get(); var selectedGenres = _uow.GenreRepository.Get().Include(a => a.FilmGenres) .Where(a => a.FilmGenres.Any(filmGenre => filmGenre.FilmId == filmId)); var items = new List <SelectListItem>(); foreach (var genre in selectedGenres) { var item = new SelectListItem(genre.GenreName, genre.GenreId.ToString()); items.Add(item); } var genreViewModel = new AddFilmViewModel { SelectedGenres = items, Film = film, OriginalSelectedGenres = items, Genres = genres }; return(View(genreViewModel)); }
public ActionResult EditFilm(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var film = db.Films.Find(id); if (film == null) { return(HttpNotFound()); } else { var model = new AddFilmViewModel() { Id = film.Id, Deleted = film.Deleted, Duration = film.Duration, Image = film.Image, Title = film.Title, Description = film.Description, Creator = film.Creator.Id, FilmGenre = film.FilmGenre.Id, FilmGenres = db.FilmGenres.Select(x => new SelectListItem { Text = x.Name, Value = x.Id.ToString() }).ToList(), Creators = db.Creators.Select(x => new SelectListItem { Text = x.Name, Value = x.Id.ToString() }).ToList(), }; return(View(model)); } }
//FILMY public ActionResult CreateFilm() { var model = new AddFilmViewModel { FilmGenres = db.FilmGenres.Select(x => new SelectListItem { Text = x.Name, Value = x.Id.ToString() }).ToList(), Creators = db.Creators.Select(x => new SelectListItem { Text = x.Name, Value = x.Id.ToString() }).ToList(), }; return(View(model)); }
private void Page_Loaded(object sender, RoutedEventArgs e) { _addFilmViewModel = DataContext as AddFilmViewModel; }
public async Task <IActionResult> EditFilm(IFormCollection form, AddFilmViewModel addFilmViewModel) { if (!ModelState.IsValid) { var film = _uow.FilmRepository.GetById(addFilmViewModel.Film.FilmId); var genres = _uow.GenreRepository.Get(); var selectedGenres = _uow.GenreRepository.Get().Include(a => a.FilmGenres) .Where(a => a.FilmGenres.Any(filmGenre => filmGenre.FilmId == addFilmViewModel.Film.FilmId)); var items = new List <SelectListItem>(); foreach (var genre in selectedGenres) { var item = new SelectListItem(genre.GenreName, genre.GenreId.ToString()); items.Add(item); } var genreViewModel = new AddFilmViewModel { SelectedGenres = items, Film = film, OriginalSelectedGenres = items, Genres = genres }; return(View(genreViewModel)); } var uploads = Path.Combine(_appEnvironment.WebRootPath, "img", addFilmViewModel.PostedFile.FileName); await using (var fileStream = new FileStream(uploads, FileMode.Create)) { await addFilmViewModel.PostedFile.CopyToAsync(fileStream); } var myFilm = _uow.FilmRepository.GetById(addFilmViewModel.Film.FilmId); myFilm.Title = addFilmViewModel.Film.Title; myFilm.Length = addFilmViewModel.Film.Length; myFilm.Url = addFilmViewModel.PostedFile.FileName; myFilm.Description = addFilmViewModel.Film.Description; _uow.FilmRepository.Update(myFilm); var addItems = form["SelectedGenre"].Except(form["OriginalSelectedGenre"]); var removeItems = form["OriginalSelectedGenre"].Except(form["SelectedGenre"]); foreach (var item in addItems) { var filmGenre = new FilmGenre { FilmId = myFilm.FilmId, GenreId = int.Parse(item) }; _uow.FilmGenreRepository.Add(filmGenre); } foreach (var item in removeItems) { var filmGenre = _uow.FilmGenreRepository.Get() .Where(a => a.FilmId == myFilm.FilmId && a.GenreId == int.Parse(item)).Cast <FilmGenre>().FirstOrDefault(); if (filmGenre == null) { continue; } filmGenre.Deleted = 1; _uow.FilmGenreRepository.Update(filmGenre); } _uow.Commit(); return(RedirectToAction("Film")); }
public ActionResult CreateFilm(AddFilmViewModel model) { if (!ModelState.IsValid) { model = new AddFilmViewModel { FilmGenres = db.FilmGenres.Select(x => new SelectListItem { Text = x.Name, Value = x.Id.ToString() }).ToList(), Creators = db.Creators.Select(x => new SelectListItem { Text = x.Name, Value = x.Id.ToString() }).ToList(), }; return(View(model)); } if (db.Films.Any(x => x.Title == model.Title)) { model = new AddFilmViewModel { FilmGenres = db.FilmGenres.Select(x => new SelectListItem { Text = x.Name, Value = x.Id.ToString() }).ToList(), Creators = db.Creators.Select(x => new SelectListItem { Text = x.Name, Value = x.Id.ToString() }).ToList(), }; ModelState.AddModelError(string.Empty, "Ten tytuł jest już używany dla innego filmu."); return(View(model)); } var fileName = Path.GetFileNameWithoutExtension(model.ImageFile.FileName); string extension = Path.GetExtension(model.ImageFile.FileName); fileName = fileName + DateTime.Now.ToString("yymmssfff") + extension; model.Image = "~/Content/img/" + fileName; fileName = Path.Combine(Server.MapPath("~/Content/img/"), fileName); model.ImageFile.SaveAs(fileName); Film film = new Film(); film.Duration = model.Duration; film.Title = model.Title; film.Description = model.Description; film.Image = model.Image; film.Deleted = model.Deleted; var filmGenre = db.FilmGenres.FirstOrDefault(c => c.Id == model.FilmGenre); film.FilmGenre = filmGenre; var creator = db.Creators.FirstOrDefault(c => c.Id == model.Creator); film.Creator = creator; db.Films.Add(film); db.SaveChanges(); ModelState.Clear(); return(RedirectToAction("FilmList")); }
public ActionResult EditFilm(AddFilmViewModel model) { //var film = db.Films.Find(id); var film = db.Films.FirstOrDefault(x => x.Id == model.Id); if (!ModelState.IsValid) { model.FilmGenres = db.FilmGenres.Select(x => new SelectListItem { Text = x.Name, Value = x.Id.ToString() }).ToList(); model.Creators = db.Creators.Select(x => new SelectListItem { Text = x.Name, Value = x.Id.ToString() }).ToList(); model.Image = film.Image; return(View(model)); } if (db.Films.Any(x => x.Title == model.Title)) { model.FilmGenres = db.FilmGenres.Select(x => new SelectListItem { Text = x.Name, Value = x.Id.ToString() }).ToList(); model.Creators = db.Creators.Select(x => new SelectListItem { Text = x.Name, Value = x.Id.ToString() }).ToList(); model.Image = film.Image; ModelState.AddModelError(String.Empty, "Ten tytuł jest już w bazie."); return(View(model)); } if (Request.Files.Count > 0) { var file = Request.Files[0]; if (file != null && file.ContentLength > 0) { var fileName = Path.GetFileNameWithoutExtension(model.ImageFile.FileName); string extension = Path.GetExtension(model.ImageFile.FileName); fileName = fileName + DateTime.Now.ToString("yymmssfff") + extension; model.Image = "~/Content/img/" + fileName; fileName = Path.Combine(Server.MapPath("~/Content/img/"), fileName); model.ImageFile.SaveAs(fileName); film.Image = model.Image; } } film.Deleted = model.Deleted; film.Duration = model.Duration; film.Title = model.Title; film.Description = model.Description; var filmGenre = db.FilmGenres.FirstOrDefault(c => c.Id == model.FilmGenre); film.FilmGenre = filmGenre; var creator = db.Creators.FirstOrDefault(c => c.Id == model.Creator); film.Creator = creator; db.Entry(film).State = EntityState.Modified; db.SaveChanges(); ModelState.Clear(); return(RedirectToAction("FilmList")); }