Exemple #1
0
        public async Task <IActionResult> Update()
        {
            var cities = await this.cityService.GetCities();

            var models = new CityUpdateListViewModel(cities.Select(city => new CityUpdateViewModel(city)));

            return(this.View(models));
        }
Exemple #2
0
        public IActionResult SetId(CityUpdateListViewModel viewModel)
        {
            var model = new CityUpdateListViewModel()
            {
                Id   = viewModel.Id,
                Name = viewModel.Name
            };

            return(PartialView("_CityInputPartial", model));
        }
Exemple #3
0
        public async Task <IActionResult> Update(CityUpdateListViewModel cityViewModel)
        {
            if (!this.ModelState.IsValid)
            {
                return(RedirectToAction("Update"));
            }
            var city = await this.cityService.GetCity(cityViewModel.Id);

            if (city == null)
            {
                this.TempData["Error-Message"] = $"City doesn't exist!";
                return(this.RedirectToAction("Update", "City"));
            }

            try
            {
                await this.cityService.UpdateName(city.Id, cityViewModel.Name);
            }
            catch (EntityAlreadyExistsException e)
            {
                this.TempData["Error-Message"] = e.Message;
                return(this.RedirectToAction("Update", "City"));
            }
            catch (InvalidClientInputException e)
            {
                this.TempData["Error-Message"] = e.Message;
                return(this.RedirectToAction("Update", "City"));
            }
            catch (EntityDoesntExistException e)
            {
                this.TempData["Error-Message"] = e.Message;
                return(this.RedirectToAction("Update", "City"));
            }

            this.TempData["Success-Message"] = $"You successfully changed the city with new name {cityViewModel.Name}!";

            return(this.RedirectToAction("Update", "City"));
        }