// GET: Animales/Create public IActionResult Create() { var model = new AnimalModifyModel(); model.Especies = new SelectList(_context.Especie.Select(x => new { key = x.NombreEspecie, value = x.EspecieId }).Distinct().OrderBy(x => x.key).ToList(), "value", "key"); return(View(model)); }
public async Task <IActionResult> Create(AnimalModifyModel model) { if (ModelState.IsValid) { var especie = _context.Especie.FirstOrDefault(x => x.EspecieId.Equals(model.EspecieId)); //automapper //new Animales //{ // AnimalId = model.AnimalId, // EspecieId = especie.EspecieId, // Especie = especie, // Nombre = model.Nombre, // NombreCientifico = model.NombreCientifico, // NombreImagen = model.NombreImagen, // ancho = model.ancho, // año_muerte = model.año_muerte, // año_nacimiento = model.año_nacimiento, // descripcion = model.descripcion, // estatura = model.estatura, // Titulo = model.Titulo //} var data = Map <Animales>(model); data.Especie = especie; _context.Add(data); string wwwRootPath = _hostEnvironment.WebRootPath; string fileName = Path.GetFileNameWithoutExtension(model.ImagenArchivo.FileName); string extension = Path.GetExtension(model.ImagenArchivo.FileName); var ex = new List <string> { ".JPEG", ".JPG", ".PNG" }; var result = ex.FirstOrDefault(x => x.ToLower().Equals(extension.ToLower())); if (result == null) { throw new Exception("Image format no accepted"); } data.NombreImagen = fileName = fileName + DateTime.Now.ToString("yymmssfff") + extension; string path = Path.Combine(Path.Combine(wwwRootPath, "img/Animales"), fileName); using (var fileStream = new FileStream(path, FileMode.Create)) { await model.ImagenArchivo.CopyToAsync(fileStream); } await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(model)); }