// 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)); }
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)); }
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); }
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)); }