public ActionResult FicharNuevoJugador(FicharNuevoJugadorVM vm) { ValidarFichajeDeNuevoJugador(vm); if (!ModelState.IsValid) { return(RedirectToAction("FicharNuevoJugador", new { id = vm.EquipoId })); } var model = new Jugador(); var jugadorEquipo = _jugadorVMM.MapCreate(vm, model); Context.JugadorEquipos.Add(jugadorEquipo); var club = Context.Equipos.Find(vm.EquipoId).Club; MovimientoEntradaConClub movimiento; if (vm.ElCarnetEstaPago) { movimiento = _generadorDeMovimientos.GenerarMovimientoFichajeYSuPago(club, vm.DNI); } else { movimiento = _generadorDeMovimientos.GenerarMovimientoFichajeImpago(club, vm.DNI); } club.Movimientos.Add(movimiento); Context.SaveChanges(); _imagenesJugadoresDiskPersistence.GuardarFotoWebCam(vm); ModelState.Clear(); int?idDelJugadorRecienFichado = null; if (vm.HayQueImprimirCarnetDelUltimoJugadorFichado) { idDelJugadorRecienFichado = Context.Jugadores.Single(x => x.DNI == vm.DNI).Id; } return(RedirectToAction("FicharNuevoJugador", new { id = vm.EquipoId, idDelJugadorFichadoAnteriormenteParaImprimir = idDelJugadorRecienFichado })); }
public ActionResult Aprobar(int id) { var jugadorAutofichado = _context.JugadoresaAutofichados.Single(x => x.Id == id); try { var jugador = new Jugador(); var vm = new FicharNuevoJugadorVM { DNI = jugadorAutofichado.DNI, Apellido = jugadorAutofichado.Apellido, Nombre = jugadorAutofichado.Nombre, EquipoId = jugadorAutofichado.EquipoId, FechaNacimiento = DateTimeUtils.ConvertToString(jugadorAutofichado.FechaNacimiento) }; var jugadorEquipo = _jugadorVMM.MapCreate(vm, jugador); _context.JugadorEquipos.Add(jugadorEquipo); jugadorAutofichado.Estado = EstadoJugadorAutofichado.Aprobado; var club = _context.Equipos.Find(vm.EquipoId).Club; var movimiento = _generadorDeMovimientos.GenerarMovimientoFichajeImpago(club, vm.DNI); club.Movimientos.Add(movimiento); _context.SaveChanges(); _imagenesJugadoresDiskPersistence.FicharJugadorTemporal(jugadorAutofichado.DNI); } catch (Exception e) { YKNExHandler.LoguearYLanzarExcepcion(e, "Error al fichar jugador temporal"); } return(RedirectToAction("Index", new { Estado = 1 })); }