Ejemplo n.º 1
0
        public ActionResult ImportarJugadores(ImportarJugadoresVM vm)
        {
            var jugadores = ZipUtility.Importar(vm.JugadoresZip.InputStream, out var resultado);
            var equipo    = Context.Equipos.Find(vm.EquipoEnElQueLoEstoyFichandoId);

            var cont = 0;

            foreach (var jug in jugadores)
            {
                try
                {
                    var jugadorEquipo = new JugadorEquipo {
                        Equipo = equipo, Jugador = jug, FechaFichaje = DateTime.Today
                    };

                    Context.JugadorEquipos.Add(jugadorEquipo);
                    Context.SaveChanges();

                    resultado.Add($"Jugador de DNI '{jug.DNI}' importado exitosamente.");
                    cont++;
                }
                catch (Exception e)
                {
                    _imagenesJugadoresDiskPersistence.Eliminar(jug.DNI);
                    var message = e.InnerException?.InnerException == null ? e.Message : e.InnerException.InnerException.Message;
                    resultado.Add($"Error con jugador de DNI '{jug.DNI}': {message}");
                }
            }

            resultado.Add($"Se importaron correctamente {cont} jugadores.");

            var vmResultado = new ResultadoImportacionJugadores
            {
                Equipo    = equipo?.Nombre,
                Resultado = resultado
            };

            return(View("ResultadoImportacion", vmResultado));
        }