示例#1
0
        public async Task <IActionResult> Edit(CinemaEditViewModel model, CancellationToken token, string returnUrl = null)
        {
            AddBreadcrumb("Cinemas", "/Cinema/All");
            AddBreadcrumb("Edit", "/Cinema/Edit");
            ViewData["ReturnUrl"] = returnUrl;

            if (ModelState.IsValid)
            {
                var user = await _userManager.FindByIdAsync(_userManager.GetUserId(User)) as IdentityUser;

                var userSession = await _userSessionRepository.FindByUserIdAsync(Guid.Parse(user.Id), token);

                var cinema = await _cinemaRepository.FindByIdAsync(userSession.CurrentCinemaId, token);

                cinema.Name    = model.Name;
                cinema.Address = model.Address;
                cinema.Phone   = model.Phone;

                await _cinemaRepository.UpdateAsync(cinema, token);

                return(RedirectToAction(nameof(All), "Cinema"));
            }

            return(View(model));
        }
        public async Task <IActionResult> Edit(CinemaEditViewModel cinemaEditViewModel)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.View(cinemaEditViewModel));
            }

            await this.cinemasService.EditAsync(cinemaEditViewModel);

            return(this.RedirectToAction("GetAll", "Cinemas", new { area = "Administration" }));
        }
示例#3
0
        public async Task CheckIfEditingCinemaReturnsNullReferenceException()
        {
            this.SeedDatabase();

            var cinemaEditViewModel = new CinemaEditViewModel
            {
                Id = 3,
            };

            var exception = await Assert
                            .ThrowsAsync <NullReferenceException>(async() => await this.cinemasService.EditAsync(cinemaEditViewModel));

            Assert.Equal(string.Format(ExceptionMessages.CinemaNotFound, cinemaEditViewModel.Id), exception.Message);
        }
示例#4
0
        public async Task CheckIfEditingCinemaWorksCorrectly()
        {
            this.SeedDatabase();

            var cinemaEditViewModel = new CinemaEditViewModel
            {
                Id      = this.firstCinema.Id,
                Name    = "Changed Cinema name",
                Address = "Changed Cinema address",
            };

            await this.cinemasService.EditAsync(cinemaEditViewModel);

            Assert.Equal(cinemaEditViewModel.Name, this.firstCinema.Name);
            Assert.Equal(cinemaEditViewModel.Address, this.firstCinema.Address);
        }
示例#5
0
        public async Task EditAsync(CinemaEditViewModel cinemaEditViewModel)
        {
            var cinema = this.cinemasRepository.All().FirstOrDefault(g => g.Id == cinemaEditViewModel.Id);

            if (cinema == null)
            {
                throw new NullReferenceException(
                          string.Format(ExceptionMessages.CinemaNotFound, cinemaEditViewModel.Id));
            }

            cinema.Name       = cinemaEditViewModel.Name;
            cinema.Address    = cinemaEditViewModel.Address;
            cinema.ModifiedOn = DateTime.UtcNow;

            this.cinemasRepository.Update(cinema);
            await this.cinemasRepository.SaveChangesAsync();
        }
示例#6
0
        public async Task <IActionResult> Edit(CinemaEditViewModel dto)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(View(dto));
                }

                var cinema = mapper.Map <Cinema>(dto);
                await cinemaService.UpdateAsync(cinema);

                return(RedirectToAction(nameof(Details), new { id = cinema.Id }));
            }
            catch
            {
                return(RedirectToAction("Index", "Home"));
            }
        }
示例#7
0
        public async Task <IActionResult> Edit(CancellationToken token)
        {
            AddBreadcrumb("Cinemas", "/Cinema/All");
            AddBreadcrumb("Edit", "/Cinema/Edit");

            var user = await _userManager.FindByIdAsync(_userManager.GetUserId(User)) as IdentityUser;

            var userSession = await _userSessionRepository.FindByUserIdAsync(Guid.Parse(user.Id), token);

            var cinema = await _cinemaRepository.FindByIdAsync(userSession.CurrentCinemaId, token);

            var viewModel = new CinemaEditViewModel
            {
                Name    = cinema.Name,
                Address = cinema.Address,
                Phone   = cinema.Phone
            };

            return(View(viewModel));
        }