public async Task <IActionResult> Create(FilmCreateViewModel model) { if (ModelState.IsValid) { Film toBeAddedFilm = new Film { Description = model.Description, ReleaseDate = model.ReleaseDate, Genre = model.Genre, Producer = model.Producer, Title = model.Title, Url = model.Url }; var user = await _userManager.GetUserAsync(HttpContext.User); _mediaDbContext.Films.Add(toBeAddedFilm); await _mediaDbContext.SaveChangesAsync(); UserFilm newConnection = new UserFilm { User = user, UserId = user.Id, Film = toBeAddedFilm, FilmId = toBeAddedFilm.Id }; _mediaDbContext.UserFilms.Add(newConnection); await _mediaDbContext.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(model)); }
public async Task <IActionResult> Create(FilmCreateViewModel model, CancellationToken token, string returnUrl = null) { AddBreadcrumb("Films", "/Film/All"); AddBreadcrumb("Create", "/Film/Create"); ViewData["ReturnUrl"] = returnUrl; if (ModelState.IsValid) { var film = new Film { Title = model.Title, Description = model.Description, Genre = model.Genre, Duration = TimeSpan.FromSeconds(long.Parse(model.Duration)), ReleaseDate = DateTime.ParseExact(model.ReleaseDate, "MM\\/dd\\/yyyy", CultureInfo.InvariantCulture), TrailerUrl = model.TrailerUrl, IsActive = true, Company = await GetCompany(token) }; var addedFilm = await _filmRepository.AddAsync(film, token); await _blobRepository.Upload(addedFilm.Id, model.PosterImage); return(RedirectToAction(nameof(All), "Film")); } return(View(model)); }
public IActionResult Create(FilmCreateViewModel model) { if (!ModelState.IsValid) { return(View(model)); } var userId = User.UserId(); var film = new Film { AddedAt = !string.IsNullOrEmpty(userId) ? new User { Id = userId } : null, Name = model.Name, Description = model.Description, Year = model.Year, Director = new Director { Name = model.Director } }; if (model.Poster is not null) { film.Poster = _fileHelper.SaveUploadedFile(model.Poster); } film = _filmService.Create(film); return(RedirectToAction("Details", new { film.Id })); }
public async Task <IActionResult> Create(FilmCreateViewModel model, List <int> Genres, List <string> Regi) { Regi.RemoveAt(Regi.Count() - 1); Film film = new Film() { Beschrijving = model.Beschrijving, Titel = model.Titel, Lengte = model.Lengte, Zichtbaar = true, }; if (model.Foto != null) { using (var memoryStream = new MemoryStream()) { await model.Foto.CopyToAsync(memoryStream); film.Foto = memoryStream.ToArray(); } } _context.Film.Add(film); _context.SaveChanges(); Film newFilm = _context.Film.FirstOrDefault(x => x.Titel == film.Titel && x.Beschrijving == film.Beschrijving && x.Lengte == film.Lengte); foreach (var genre in Genres) { _context.GenreFilm.Add(new GenreFilm() { FilmId = newFilm.Id, GenreId = genre }); } foreach (var regisseur in Regi) { FilmRegisseur FR = _context.FilmRegisseur.FirstOrDefault(x => x.Naam == regisseur); if (FR != null) { _context.RegisseurFilm.Add(new RegisseurFilm() { FilmId = newFilm.Id, RegisseurId = FR.Id }); _context.SaveChanges(); } else { _context.FilmRegisseur.Add(new FilmRegisseur() { Naam = regisseur }); _context.SaveChanges(); _context.RegisseurFilm.Add(new RegisseurFilm() { FilmId = newFilm.Id, RegisseurId = _context.FilmRegisseur.FirstOrDefault(x => x.Naam == regisseur).Id }); _context.SaveChanges(); } } return(RedirectToAction("Detail", new { newFilm.Id })); }
public async Task <IActionResult> Create(CancellationToken token) { AddBreadcrumb("Films", "/Film/All"); AddBreadcrumb("Create", "/Film/Create"); var viewModel = new FilmCreateViewModel { ReleaseDate = DateTime.Now.ToString("MM\\/dd\\/yyyy") }; return(View(viewModel)); }
public IActionResult Create(FilmCreateViewModel model, bool regisseur) { if (regisseur == true) { if (string.IsNullOrEmpty(model.RegisseurToevoegen)) { _context.Regisseurs.Add(new Regisseur() { Naam = model.RegisseurToevoegen }); _context.SaveChanges(); } return(RedirectToAction("Create", model)); } else { Film film = new Film() { Titel = model.Titel, Speelduur = model.Speelduur, Beschrijving = model.Beschrijving }; using (MemoryStream stream = new MemoryStream()) { model.Foto.CopyTo(stream); film.Foto = stream.ToArray(); } _context.Films.Add(film); _context.SaveChanges(); foreach (var item in model.SelectedRegisseurs) { _context.FilmRegisseurs.Add(new FilmRegisseur() { FilmId = film.Id, RegisseurId = int.Parse(item) }); } foreach (var item in model.Genres.Where(x => x.Checked == true)) { _context.FilmGenres.Add(new FilmGenre() { FilmId = film.Id, GenreId = item.Id }); } _context.SaveChanges(); return(RedirectToAction("Index")); } }
public IActionResult Create(FilmCreateViewModel modelInput) { FilmCreateViewModel model = modelInput; model.Genres = new List <CheckboxViewModel>(); foreach (var item in _context.Regisseurs) { model.Regisseurs.Add(new SelectListItem(item.Naam, item.Id.ToString())); } foreach (var item in _context.GenreFilms) { model.Genres.Add(new CheckboxViewModel() { Naam = item.Genrenaam, Id = item.Id }); } return(View(model)); }
public async Task <IActionResult> Create(FilmCreateViewModel model) { if (!ModelState.IsValid) { return(RedirectToAction(nameof(Create))); } int?producerId = null; if (!string.IsNullOrEmpty(model.Producer)) { producerId = producers.LoadOrCreate(model.Producer); } int?posterId = null; if (model.Poster != null) { posterId = await posters.AddAsync(model.Poster); } Film film = new() { Year = model.Year, Name = model.Name, Description = model.Description, PosterId = posterId, ProducerId = producerId, UserId = _signInManager.UserManager.GetUserId(User) }; if (await films.AddAsync(film)) { return(RedirectToAction(nameof(Edit), new { id = film.Id })); } ModelState.AddModelError(string.Empty, "Ошибка при сохранении"); return(RedirectToAction(nameof(Create))); }
public IActionResult Create() { FilmCreateViewModel model = new FilmCreateViewModel(); return(View(model)); }