public async Task <IActionResult> Create(CinemaCreateInputModel cinemaCreateInputModel) { if (!this.ModelState.IsValid) { return(this.View(cinemaCreateInputModel)); } await this.cinemasService.CreateAsync(cinemaCreateInputModel); return(this.RedirectToAction("GetAll", "Cinemas", new { area = "Administration" })); }
public async Task <IActionResult> Create(CinemaCreateInputModel input) { if (!this.ModelState.IsValid) { return(this.View(input)); } string pictureUrl = await this.cloudinaryService.UploadPictureAsync(input.Picture, input.Picture.FileName); var cinemaId = await this.cinemasService.CreateAsync(input.Name, input.Address, pictureUrl); return(this.RedirectToAction("ById", new { id = cinemaId })); }
public async Task TestAddingCinema() { var model = new CinemaCreateInputModel { Name = "Mol Sofia", Address = "Bulgaria, Sofia", }; await this.cinemasService.CreateAsync(model); var count = await this.cinemasRepository.All().CountAsync(); Assert.Equal(1, count); }
public async Task CheckIfAddingCinemaThrowsArgumentException() { this.SeedDatabase(); var cinema = new CinemaCreateInputModel { Name = "Test Cinema Name", Address = "Test Cinema Address", }; var exception = await Assert .ThrowsAsync <ArgumentException>(async() => await this.cinemasService.CreateAsync(cinema)); Assert.Equal(string.Format(ExceptionMessages.CinemaAlreadyExists, cinema.Name, cinema.Address), exception.Message); }
public async Task CheckSettingOfCinemaProperties() { var model = new CinemaCreateInputModel { Name = "Mol Plovdiv", Address = "Bulgaria, Plovdiv", }; await this.cinemasService.CreateAsync(model); var cinema = await this.cinemasRepository.All().FirstOrDefaultAsync(); Assert.Equal("Mol Plovdiv", cinema.Name); Assert.Equal("Bulgaria, Plovdiv", cinema.Address); }
public async Task CheckIfAddingCinemaReturnsViewModel() { var cinema = new CinemaCreateInputModel { Name = "Mol Paradise", Address = "Bulgaria, Sofia", }; var viewModel = await this.cinemasService.CreateAsync(cinema); var dbEntry = await this.cinemasRepository.All().FirstOrDefaultAsync(); Assert.Equal(dbEntry.Id, viewModel.Id); Assert.Equal(dbEntry.Name, viewModel.Name); Assert.Equal(dbEntry.Address, viewModel.Address); }
public async Task <CinemaDetailsViewModel> CreateAsync(CinemaCreateInputModel cinemaCreateInputModel) { var cinema = new Cinema { Name = cinemaCreateInputModel.Name, Address = cinemaCreateInputModel.Address, }; bool doesCinemaExists = await this.cinemasRepository.All().AnyAsync(x => x.Name == cinema.Name); if (doesCinemaExists) { throw new ArgumentException( string.Format(ExceptionMessages.CinemaAlreadyExists, cinema.Name, cinema.Address)); } await this.cinemasRepository.AddAsync(cinema); await this.cinemasRepository.SaveChangesAsync(); var viewModel = await this.GetViewModelByIdAsync <CinemaDetailsViewModel>(cinema.Id); return(viewModel); }