public async Task <List <Caballos> > ObtenerCaballos() { using (CarrerasBDEntities contexto = new CarrerasBDEntities()) { return(await contexto.Caballos.ToListAsync()); } }
private async Task <bool> InsertarDetalleCarrera(Carreras carrera, List <JugadorDTO> participantes) { Random random = new Random(); CarreraJugador carreraJugador = null; decimal saldoApostado = 0; List <Jugadores> participantesCarrera = await new JugadorRepository().ObtenerParticipantes(participantes); using (CarrerasBDEntities context = new CarrerasBDEntities()) { var valorApostado = 0; string tipoApuesta = TipoApuesta(); foreach (var jugadorCarrera in participantesCarrera) { switch (tipoApuesta) { case "CONSERVADORA": valorApostado = random.Next(10, 21); break; default: valorApostado = random.Next(5, 16); break; } if (jugadorCarrera.Saldo > 0) { if (jugadorCarrera.Saldo >= 2000) { saldoApostado = (jugadorCarrera.Saldo / 100) * valorApostado; carreraJugador = new CarreraJugador() { Jugador = jugadorCarrera.IdJugador, CaballoApostado = participantes.FirstOrDefault(a => a.IdJugador == jugadorCarrera.IdJugador).CaballoApostado, Carrera = carrera.IdCarrera, CantidadApostada = saldoApostado }; } else { if (jugadorCarrera.Saldo < 2000) { saldoApostado = jugadorCarrera.Saldo; carreraJugador = new CarreraJugador() { Jugador = jugadorCarrera.IdJugador, CaballoApostado = participantes.FirstOrDefault(a => a.IdJugador == jugadorCarrera.IdJugador).CaballoApostado, Carrera = carrera.IdCarrera, CantidadApostada = saldoApostado }; } } new JugadorRepository().ActualizarSaldoApuestaJugador(jugadorCarrera.IdJugador, saldoApostado); context.CarreraJugador.Add(carreraJugador); } } return(await context.SaveChangesAsync() > 0 ? true : false); } }
public async void ActualizarSaldoApuestaJugador(int idJugador, decimal saldoResta) { using (CarrerasBDEntities context = new CarrerasBDEntities()) { var jugador = context.Jugadores.FirstOrDefault(a => a.IdJugador == idJugador); jugador.Saldo -= saldoResta; await context.SaveChangesAsync(); } }
public async Task <decimal> ActualizarSaldoGanadorJugador(int idJugador, decimal saldoSuma) { using (CarrerasBDEntities context = new CarrerasBDEntities()) { var jugador = context.Jugadores.FirstOrDefault(a => a.IdJugador == idJugador); jugador.Saldo += saldoSuma; await context.SaveChangesAsync(); return(jugador.Saldo); } }
public async Task <Jugadores> CrearJugador(JugadorDTO jugadorDto) { using (CarrerasBDEntities context = new CarrerasBDEntities()) { Jugadores jugador = new Jugadores() { NombreJugador = jugadorDto.Nombre, Saldo = Convert.ToDecimal(20000) }; context.Jugadores.Add(jugador); await context.SaveChangesAsync(); return(jugador); } }
public async Task <CaballoDTO> ObtenerCaballoPorId(int?idCaballo) { CaballoDTO caballoDto = null; using (CarrerasBDEntities contexto = new CarrerasBDEntities()) { var caballo = await contexto.Caballos.FirstOrDefaultAsync(a => a.IdCaballo == idCaballo); caballoDto = new CaballoDTO() { IdCaballo = caballo.IdCaballo, NombreCaballo = caballo.NombreCaballo, Bonificador = caballo.Bonificador }; return(caballoDto); } }
public async Task <List <Jugadores> > ObtenerParticipantes(List <JugadorDTO> jugadores) { List <Jugadores> jugadoresRetorno = new List <Jugadores>(); using (CarrerasBDEntities context = new CarrerasBDEntities()) { foreach (var item in jugadores) { var jugadorParticipante = await context.Jugadores.FirstOrDefaultAsync(a => a.IdJugador == item.IdJugador); if (jugadorParticipante != null) { jugadoresRetorno.Add(jugadorParticipante); } } } return(jugadoresRetorno); }
//se aplicara logica de negocio en este componente debido a lo acotado. public async Task <CarreraDTO> CrearCarrera(CarreraDTO carreraDto) { Random random = new Random(); using (CarrerasBDEntities context = new CarrerasBDEntities()) { Carreras carrera = new Carreras(); carrera.CaballoGanador = await ObtenerGanador(); context.Carreras.Add(carrera); await context.SaveChangesAsync(); carrera.NombreCarrera = string.Format("Carrera {0}", carrera.IdCarrera); carreraDto.Participantes = await AsignarPorcentaje(carreraDto.Participantes); await InsertarDetalleCarrera(carrera, carreraDto.Participantes); carrera.CarreraJugador = context.CarreraJugador.Where(a => a.Carreras.IdCarrera == carrera.IdCarrera).ToList(); await context.SaveChangesAsync(); return(await RetornoCarrera(carreraDto, carrera)); } }
public async Task <List <CarreraDTO> > ObtenerCarreras() { List <CarreraDTO> listaCarreras = new List <CarreraDTO>(); using (CarrerasBDEntities contexto = new CarrerasBDEntities()) { CarreraDTO carreraDto = null; JugadorDTO jugadorDto = null; var carreras = contexto.Carreras.ToList(); foreach (var carrera in carreras) { carreraDto = new CarreraDTO(); carreraDto.IdCarrera = carrera.IdCarrera; carreraDto.NombreCarrera = carrera.NombreCarrera; foreach (var jugador in carrera.CarreraJugador) { jugadorDto = new JugadorDTO() { IdJugador = jugador.Jugadores.IdJugador, CaballoApostado = jugador.CaballoApostado, Nombre = jugador.Jugadores.NombreJugador, Saldo = jugador.Jugadores.Saldo, CantidadApostada = jugador.CantidadApostada }; carreraDto.Participantes.Add(jugadorDto); } carreraDto.CaballoGanador = await new CaballoRepository().ObtenerCaballoPorId(carrera.CaballoGanador); listaCarreras.Add(carreraDto); } } return(listaCarreras); }