public async Task <IActionResult> Create(TematicaViewModel view) { if (ModelState.IsValid) { var path = string.Empty; if (view.ImageFile != null && view.ImageFile.Length > 0) { path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot\\images\\Events", view.ImageFile.FileName); using (var stream = new FileStream(path, FileMode.Create)) { await view.ImageFile.CopyToAsync(stream); } path = $"~/images/Events/{view.ImageFile.FileName}"; } var tematica = this.ToTematica(view, path); // TODO: Pending to change to: this.User.Identity.Name await this.tematicasRepository.CreateAsync(tematica); return(RedirectToAction(nameof(Index))); } return(View(view)); }
private Tematica ToTematica(TematicaViewModel view, string path) { return(new Tematica { Id = view.Id, Nombre = view.Nombre, ImageURL = path }); }
public async Task <IActionResult> Edit(TematicaViewModel view) { if (ModelState.IsValid) { try { var path = view.ImageURL; if (view.ImageFile != null && view.ImageFile.Length > 0) { path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot\\images\\Events", view.ImageFile.FileName); using (var stream = new FileStream(path, FileMode.Create)) { await view.ImageFile.CopyToAsync(stream); } path = $"~/images/Events/{view.ImageFile.FileName}"; } var tematica = this.ToTematica(view, path); await this.tematicasRepository.UpdateAsync(tematica); } catch (DbUpdateConcurrencyException) { if (!await this.tematicasRepository.ExistAsync(view.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(view)); }