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