Пример #1
0
        // GET: Pais/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }


            var paisViewModel = await _paisHttpService.GetByIdAsync(id.Value);

            if (paisViewModel == null)
            {
                return(NotFound());
            }

            var paisIntermediario = new ViewModelPaisIntermediario
            {
                Id   = paisViewModel.Id,
                Nome = paisViewModel.Nome,
                DataIndependencia = paisViewModel.DataIndependencia,
                QtdHabitantes     = paisViewModel.QtdHabitantes,
                ImageUri          = null
            };

            return(View(paisIntermediario));
        }
Пример #2
0
        public async Task <IActionResult> Edit(int id, ViewModelPaisIntermediario viewModelPaisIntermediario)
        {
            if (id != viewModelPaisIntermediario.Id)
            {
                return(NotFound());
            }


            var paisViewModel = await _paisHttpService.GetByIdAsync(id);

            if (paisViewModel == null)
            {
                return(NotFound());
            }

            var imgName = UploadedFile(viewModelPaisIntermediario);

            paisViewModel.Id   = viewModelPaisIntermediario.Id;
            paisViewModel.Nome = viewModelPaisIntermediario.Nome;
            paisViewModel.DataIndependencia = viewModelPaisIntermediario.DataIndependencia;
            paisViewModel.QtdHabitantes     = viewModelPaisIntermediario.QtdHabitantes;
            paisViewModel.ImageUri          = imgName;
            if (imgName == null)
            {
                return(NotFound());
            }


            if (ModelState.IsValid)
            {
                try
                {
                    await _paisHttpService.EditAsync(paisViewModel);
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!PaisViewModelExists(paisViewModel.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(paisViewModel));
        }
Пример #3
0
        private string UploadedFile(ViewModelPaisIntermediario paisViewModel)
        {
            string nomeUnicoArquivo = null;

            if (paisViewModel.ImageUri != null)
            {
                string pastaFotos = Path.Combine(_webHostEnvironment.WebRootPath, "Assets", "Imagens");

                nomeUnicoArquivo = Guid.NewGuid().ToString() + "_" + paisViewModel.ImageUri.FileName;
                string caminhoArquivo = Path.Combine(pastaFotos, nomeUnicoArquivo);
                using (var fileStream = new FileStream(caminhoArquivo, FileMode.Create))
                {
                    paisViewModel.ImageUri.CopyTo(fileStream);
                }
            }
            return(nomeUnicoArquivo);
        }
Пример #4
0
        public async Task <IActionResult> Create(ViewModelPaisIntermediario viewModelPaisIntermediario)
        {
            if (ModelState.IsValid)
            {
                var imgName       = UploadedFile(viewModelPaisIntermediario);
                var paisViewModel = new PaisViewModel
                {
                    Id   = viewModelPaisIntermediario.Id,
                    Nome = viewModelPaisIntermediario.Nome,
                    DataIndependencia = viewModelPaisIntermediario.DataIndependencia,
                    QtdHabitantes     = viewModelPaisIntermediario.QtdHabitantes,
                    ImageUri          = imgName
                };


                await _paisHttpService.AddAsync(paisViewModel);

                return(RedirectToAction(nameof(Index)));
            }
            return(View(viewModelPaisIntermediario));
        }