public async Task <MovieAdminServiceModel> FindMovie(Guid id) { Movie movie = await this.Db.Movies.FindAsync(id); List <Genre> genresMovie = await this.genreService.GetAllGenreForMovie(movie.Id); List <GenreServiceModel> allGenres = await this.genreService.GetAllGenres(); List <GenreServiceModel> genresMovieModel = new List <GenreServiceModel>(); foreach (var genre in allGenres) { GenreServiceModel genreServiceModel = new GenreServiceModel(); genreServiceModel.Id = genre.Id; genreServiceModel.Name = genre.Name; if (genresMovie.Any(x => x.Id == genre.Id)) { genreServiceModel.IsSelected = true; } else { genreServiceModel.IsSelected = false; } genresMovieModel.Add(genreServiceModel); } List <Price> prices = await this.priceService.GetAllPricesForMovie(movie.Id); List <PriceServiceModel> pricesServiceMovel = prices.Select(p => new PriceServiceModel { Id = p.Id, RoleId = p.RoleId, Price = p.MoviePrice, Role = p.Role }) .ToList(); foreach (var price in pricesServiceMovel) { Role role = await this.roleService.FindRole(price.RoleId); price.Role = role; } return(new MovieAdminServiceModel { Id = movie.Id, Name = movie.Name, Year = movie.Year, Rating = movie.Rating, VideoPath = movie.VideoPath, PosterPath = movie.PosterPath, TrailerPath = movie.TrailerPath, Summary = movie.Summary, Genres = genresMovieModel, Prices = pricesServiceMovel }); }
public async Task <IActionResult> Edit(GenreViewModel model) { if (!ModelState.IsValid) { return(View(model)); } model.Genres = await this.genreService.GetAllGenres(); if (model.Genres.Any(x => x.Name == model.Name)) { TempData.AddErrorMessage($"Genre with name '{model.Name}' already exists !"); return(RedirectToAction(nameof(Edit))); } else { GenreServiceModel genreServiceModel = new GenreServiceModel { Id = model.Id, Name = model.Name }; await this.genreService.UpdateGenre(genreServiceModel); TempData.AddSuccessMessage($"Genre '{model.Name}' successfully updated !"); return(RedirectToAction(nameof(Add))); } }
public async Task <IActionResult> CreateMovie() { IEnumerable <Role> roles = await roleService.GetAllRoles(); IEnumerable <GenreServiceModel> genres = await genreService.GetAllGenres(); MovieAdminViewModel model = new MovieAdminViewModel(); model.Prices = new List <PriceServiceModel>(); model.Genres = new List <GenreServiceModel>(); foreach (Role role in roles) { PriceServiceModel priceModel = new PriceServiceModel(); priceModel.RoleId = role.Id; priceModel.Role = role; model.Prices.Add(priceModel); } foreach (GenreServiceModel genre in genres) { GenreServiceModel genreModel = new GenreServiceModel(); genreModel.Name = genre.Name; genreModel.Id = genre.Id; model.Genres.Add(genreModel); } return(this.View(model)); }
public async Task Delete(GenreServiceModel genreServiceModel) { Genre genre = new Genre { Id = genreServiceModel.Id, Name = genreServiceModel.Name }; this.Db.Genres.Remove(genre); await this.Db.SaveChangesAsync(); }
public async Task <bool> CreateGenre(GenreServiceModel genreServiceModel) { Genre genre = new Genre { Name = genreServiceModel.Name }; finalWebProjectDbContext.Genres.Add(genre); int result = await finalWebProjectDbContext.SaveChangesAsync(); return(result > 0); }
public async Task <IActionResult> Index(MovieFilterServiceModel movieFilter) { MovieFilterServiceModel movieFilterServiceModel = await this.movieService.FilteredMovies(movieFilter); List <GenreServiceModel> genres = await genreService.GetAllGenres(); if (User.Identity.IsAuthenticated) { User user = await userManager.GetUserAsync(HttpContext.User); IList <string> roles = await userManager.GetRolesAsync(user); string role = roles.SingleOrDefault(); if (role == null) { await this.userManager.AddToRoleAsync(user, GlobalConstants.RegularUser); role = GlobalConstants.RegularUser; } if (movieFilterServiceModel.MovieCollection != null) { foreach (MovieServiceModel movie in movieFilterServiceModel.MovieCollection) { MovieServiceModel movieModel = await this.movieService.FindMovie(movie.Id); movie.IsPurchased = this.movieService.IsPurchased(user.Id, movie.Id); movie.Price = movieModel.Prices.SingleOrDefault(x => x.Role.Name == role).MoviePrice; } } else { movieFilterServiceModel.MovieCollection = new List <MovieServiceModel>(); } foreach (GenreServiceModel genre in genres) { GenreServiceModel genreModel = new GenreServiceModel(); genreModel.Name = genre.Name; genreModel.Id = genre.Id; movieFilterServiceModel.Genres.Add(genreModel); } } return(View(movieFilterServiceModel)); }
public async Task <IActionResult> CreateGenre(GenreCreateInputModel genreTypeCreateInputModel) { if (!this.ModelState.IsValid) { return(this.View(genreTypeCreateInputModel ?? new GenreCreateInputModel())); } GenreServiceModel genreServiceModel = new GenreServiceModel { Name = genreTypeCreateInputModel.Name }; await this.recordService.CreateGenre(genreServiceModel); return(this.Redirect("/")); }
public async Task <IActionResult> Edit(Guid id) { if (id == null) { return(NotFound()); } GenreServiceModel genre = await this.genreService.FindGenre(id); GenreViewModel genreViewModel = new GenreViewModel { Id = genre.Id, Name = genre.Name }; return(View(genreViewModel)); }
public async Task CreateGenre_ShouldSuccessfullyCreateГенре() { string errorMessage = "RecordService CreateGenre() method does not work properly."; var context = ContextFactory.Initializer(); this.recordService = new RecordService(context); GenreServiceModel testGenre = new GenreServiceModel { Name = "Doom" }; bool actualResult = await this.recordService.CreateGenre(testGenre); Assert.True(actualResult, errorMessage); }
public async Task <IActionResult> Delete(GenreViewModel model) { if (!ModelState.IsValid) { return(View(model)); } GenreServiceModel genreServiceModel = new GenreServiceModel { Id = model.Id, Name = model.Name }; await this.genreService.Delete(genreServiceModel); TempData.AddSuccessMessage($"Genre '{model.Name}' successfully deleted !"); return(RedirectToAction(nameof(Add))); }
public async Task <IActionResult> Delete(Guid id) { if (id == null) { return(RedirectToAction(nameof(Add))); } GenreServiceModel genre = await this.genreService.FindGenre(id); if (genre.Name == null) { return(RedirectToAction(nameof(Add))); } GenreViewModel genreViewModel = new GenreViewModel { Id = genre.Id, Name = genre.Name }; return(View(genreViewModel)); }