public async Task <List <PartidaEntity> > GerarPartidas() { var times = await _timeService.GetAll(); List <PartidaEntity> partidas = new List <PartidaEntity>(); foreach (var time1 in times) { foreach (var time2 in times) { if (time1 != time2 && !partidas.Any(x => x.Time1 == time2 && x.Time2 == time1)) { var partida = new PartidaEntity(); partida.Time1 = time1; partida.Time2 = time2; Random rnd = new Random(); partida.Gols1 = rnd.Next(1, 7); partida.Gols2 = rnd.Next(1, 7); partidas.Add(partida); } } } return(partidas); }
public async Task <CampeonatoEntity> Post(CampeonatoEntity campeonato) { try { var pontuacaoCampeonatoList = new List <PontuacaoCampeonatoEntity>(); var result = await _repository.InsertAsync(campeonato); var times = _timeservice.GetAll(); foreach (var time in times.Result) { PontuacaoCampeonatoEntity pontuacao = new PontuacaoCampeonatoEntity { time = time, codigoCampeonato = result.codigoCampeonato }; pontuacaoCampeonatoList.Add(await _pontuacaoCampeonatoRepository.InsertAsync(pontuacao)); } var random = new Random(); List <PartidaEntity> partidas = new List <PartidaEntity>(); foreach (var time in times.Result) { foreach (var time2 in times.Result) { if (time == time2) { continue; } if (partidas.Any(x => (x.timeA == time && x.timeB == time2) || (x.timeA == time2 && x.timeB == time))) { continue; } PartidaEntity partida = new PartidaEntity { timeA = time, timeB = time2, golsA = random.Next(0, 7), golsB = random.Next(0, 7) }; DateTime DataPermitida = DataCampeonato(); partida.data = DataPermitida; partida.codigoCampeonato = result.codigoCampeonato; var resultPartida = await _partidaService.Post(partida); if (resultPartida != null) { partidas.Add(partida); } } } var pontuacaoList = await adicionarPartidaPontuacao(partidas, pontuacaoCampeonatoList); campeonato.partidas = partidas; result.campeao = pontuacaoList.OrderByDescending(x => x.pontuacaoTime).Select(x => x.time).FirstOrDefault(); result.vici = pontuacaoList.OrderByDescending(x => x.pontuacaoTime).Select(x => x.time).ElementAt(2); result.terceiro = pontuacaoList.OrderByDescending(x => x.pontuacaoTime).Select(x => x.time).ElementAt(3); result.dataFinal = partidas.OrderBy(x => x.data).LastOrDefault()?.data; await _repository.UpdateAsync(result); return(result); } catch (Exception) { _repository.Dispose(); } return(null); }
public async Task <PartidaEntity> Put(PartidaEntity user) { return(await _repository.UpdateAsync(user)); }
public async Task <PartidaEntity> Post(PartidaEntity user) { return(await _repository.InsertAsync(user)); }
public async Task <PartidaEntity> Put(PartidaEntity entity) { return(await _reposotory.UpdateAsync(entity)); }
public async Task <PartidaEntity> Post(PartidaEntity entity) { return(await _reposotory.InsertAsync(entity)); }