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