Beispiel #1
0
        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));
        }