public async Task <IHttpActionResult> PostRodada(Rodada rodada) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _db.Rodada.Add(rodada); try { await _db.SaveChangesAsync(); } catch (DbUpdateException) { if (RodadaExists(rodada.Id)) { return(Conflict()); } else { throw; } } return(CreatedAtRoute("DefaultApi", new { id = rodada.Id }, rodada)); }
static void Main(string[] args) { try { AdministradorCampeonato campeonato = new AdministradorCampeonato(); LeitorArquivo lerArquivoTorneio = new LeitorArquivo(); Rodada jogadaVencedora = campeonato.rps_tournament_winner(lerArquivoTorneio.LerArquivoTorneio()); Console.WriteLine("O vencedor do campeonato é: " + jogadaVencedora.NomeJogador); Console.Read(); } catch (NoSuchStrategyError) { Console.WriteLine("Jogada informada é inválida. Jogadas válidas: P, R, S"); Console.Read(); } catch (WrongNumberOfPlayersError) { Console.WriteLine("As rodadas devem conter 2 jogadores"); Console.Read(); } catch (Exception) { Console.WriteLine("Ocorreu um erro na execução do programa"); Console.Read(); } }
public async Task <IHttpActionResult> PutRodada(Guid id, Rodada rodada) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != rodada.Id) { return(BadRequest()); } _db.Entry(rodada).State = EntityState.Modified; try { await _db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!RodadaExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
/// <summary> /// A partir do torneio, faz o "maata-mata" para descobrir o vencedor do campeonato /// </summary> /// <param name="torneio"></param> /// <returns></returns> public Rodada rps_tournament_winner(Torneio torneio) { List <Rodada> vencedoresDaRodada = new List <Rodada>(); List <Rodada> competidoresRodadaFinal = new List <Rodada>(); foreach (var rodada in torneio.rodadas) { //verifica o vencedor de cada rodada Rodada jogadaVencedora = rps_game_winner(rodada); vencedoresDaRodada.Add(jogadaVencedora); //monta mais uma rodada a partir dos vencedores das demais rodadas if (vencedoresDaRodada.Count == 2) { Rodada vencedorPartida = rps_game_winner(vencedoresDaRodada); competidoresRodadaFinal.Add(vencedorPartida); vencedoresDaRodada = new List <Rodada>(); } //monta a rodada de competidores finais if (competidoresRodadaFinal.Count == 2) { Rodada vencedorPartida = rps_game_winner(competidoresRodadaFinal); return(vencedorPartida); } } return(new Rodada()); }
public override Rodada ObterResultado(IList <Filme> filmes) { int indiceCrescente = 0; int indiceDecrescente = filmes.Count - 1; Rodada.SetarRodada(1); while (indiceCrescente != indiceDecrescente + 1) { if (HouveEmpate(filmes[indiceCrescente], filmes[indiceDecrescente])) { Rodada.Filmes.Add(Desempatar(filmes[indiceCrescente], filmes[indiceDecrescente])); } else { Rodada.Filmes.Add(JogarRodada(filmes[indiceCrescente], filmes[indiceDecrescente])); } indiceCrescente++; indiceDecrescente--; } return(Rodada); }
public override Rodada ObterResultado(IList <Filme> filmes) { Rodada.SetarRodada(3); Rodada.Filmes.Clear(); Rodada.Filmes.AddRange(OrdenarPrimeiroSegundoLugar(filmes)); return(Rodada); }
public ActionResult CriaESorteia(Rodada rodada, bool notificarApp = true) { string mensagem = ""; if (ModelState.IsValid) { var rodadaNegocio = new RodadaNegocio(); try { rodadaNegocio.Create(rodada); mensagem = "ok"; rodadaNegocio.SortearJogos(rodada.Id, rodada.barragemId, notificarApp); }catch (Exception e) { if (e.InnerException != null) { mensagem = e.Message + ": " + e.InnerException.Message; } else { mensagem = e.Message; } } return(RedirectToAction("Index", new { msg = mensagem })); } return(RedirectToAction("Create")); }
private void notificarOrganizadorPorEmail(Temporada temporada, Rodada rodada, string mensagemErro) { try { Mail mail = new Mail(); mail.de = System.Configuration.ConfigurationManager.AppSettings.Get("UsuarioMail"); var barragem = temporada.barragem; if (barragem.email.Equals("")) { mail.para = "*****@*****.**"; } else { mail.para = barragem.email; } if (mensagemErro != null) { mail.assunto = "Houve um erro ao gerar a rodada"; mail.conteudo = barragem.nomeResponsavel + ",<br>Um email foi enviado ao administrador.<br>Houve um erro ao gerar a rodada:<br>" + mensagemErro; } else { mail.assunto = "Uma nova rodada foi gerada!"; mail.conteudo = barragem.nomeResponsavel + ",<br> Uma nova rodada com início em " + rodada.dataInicio + "e fim em " + rodada.dataFim + " foi gerada."; } mail.formato = Tipos.FormatoEmail.Html; mail.EnviarMail(); }catch (Exception e) { //deixa rolar... } }
private void gerarRankingInicial(UserProfile model, string perfil) { if (((perfil.Equals("admin")) || (perfil.Equals("organizador"))) && (!model.isRanckingGerado)) { List <Rodada> rodadas = db.Rodada.Where(r => r.isAberta == false && r.barragemId == model.barragemId).OrderByDescending(r => r.Id).Take(10).ToList(); Rancking ranking = null; Rodada rodada = null; if (rodadas.Count() != 0) { rodada = rodadas[0]; } int totalAcumulado = getPontuacaoPorClasse(rodada, model.classeId); double pontuacao = (double)totalAcumulado / 10; foreach (var item in rodadas) { int existe = db.Rancking.Where(r => r.rodada_id == item.Id && r.userProfile_id == model.UserId).Count(); if (existe == 0) { ranking = new Rancking(); ranking.rodada_id = item.Id; ranking.pontuacao = pontuacao; ranking.posicao = 0; ranking.totalAcumulado = totalAcumulado; ranking.userProfile_id = model.UserId; ranking.classeId = model.classeId; db.Rancking.Add(ranking); db.SaveChanges(); } } model.isRanckingGerado = true; db.Entry(model).State = EntityState.Modified; db.SaveChanges(); } }
public Rodada RealizarCampeonato(IList <Filme> filmes) { var rodada = new Rodada(); if (!FilmesEstaoValidos(filmes)) { rodada.SinalizarErro(); return(rodada); } if (filmes.Count() != 8) { Notificar("Selecione 8 filmes para iniciar o campeonato"); rodada.SinalizarErro(); return(rodada); } filmes = OrdernaLista.PorOrdemAlfabetica(filmes); var resultadoPrimeiraRodada = RodadaFactory(NivelRodada.PrimeiraRodada).ObterResultado(filmes); var resultadoSegundaRodada = RodadaFactory(NivelRodada.SegundaRodada).ObterResultado(resultadoPrimeiraRodada.Filmes); var resultadoFinal = RodadaFactory(NivelRodada.UltimaRodada).ObterResultado(resultadoSegundaRodada.Filmes); return(resultadoFinal); }
public async Task <ActionResult> Create([Bind(Include = "Id,NumRodada,DataInicio,DataFim,InCurso,CampeonatoId")] Rodada rodada) { if (ModelState.IsValid) { try { HttpResponseMessage response = await Client.PostAsJsonAsync($"api/Rodada", rodada); if (response.StatusCode == System.Net.HttpStatusCode.Created) { return(RedirectToAction("Index")); } else { ViewBag.Error = "Erro imprevisto tentando criar um Rodada."; return(View(rodada)); } } catch { return(View(rodada)); } } ViewBag.CampeonatoId = new SelectList(Db.Campeonato, "Id", "Nome", rodada.CampeonatoId); return(View(rodada)); }
public String ObterJogosQuartasVoltaJson() { Rodada rodada = new Rodada(); var listaProximaRodada = rodada.ConverterPartidasParaRodada(appPartida.ObterJogosQuartasVoltaJson()); return(JsonConvert.SerializeObject(listaProximaRodada, Formatting.Indented)); }
public async Task <ActionResult> Edit([Bind(Include = "Id,NumRodada,DataInicio,DataFim,InCurso,CampeonatoId")] Rodada rodada) { var token = Request.Cookies["nossobolao"].Value; var id = rodada.Id; if (ModelState.IsValid) { try { HttpResponseMessage response = await Client.PutAsJsonAsync($"api/Rodada/{id}", rodada); if (response.StatusCode == System.Net.HttpStatusCode.NoContent) { return(RedirectToAction("Index")); } else { ViewBag.Error = "Erro ao tentar atualizar Rodada: " + await response.Content.ReadAsStringAsync(); return(View(rodada)); } } catch { return(View(rodada)); } } ViewBag.CampeonatoId = new SelectList(Db.Campeonato, "Id", "Nome", rodada.CampeonatoId); return(View(rodada)); }
public void DidTapContinueButton() { int numberOfPlayers = 0; Jogo.jogadores.Clear(); Jogo.jogadoresAtivos.Clear(); for (int i = 0; i < characters.Length; i++) { if (characters[i].isOn) { numberOfPlayers++; } Jogador j = new Jogador(); j.fotoID = i; j.taJogando = characters[i].isOn; Jogo.jogadores.Add(j); } if (numberOfPlayers >= 3) { for (int i = 0; i < numberOfPlayers; i++) { Rodada r = new Rodada(); Jogo.partida.rodadas.Add(r); } SceneManager.LoadScene("TelaSorteioCliente"); } else { errorPopup.SetActive(true); } }
public async Task <IActionResult> Edit(Guid id, [Bind("Codigo,Descricao,DataInicio,DataFim,Status,TorneioId,Id")] Rodada rodada) { if (id != rodada.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(rodada); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!RodadaExists(rodada.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["TorneioId"] = new SelectList(_context.Torneios, "Id", "Codigo", rodada.TorneioId); return(View(rodada)); }
private int getPontuacaoPorClasse(Rodada rodada, int?classeId) { int qtddJogadores = 0; int posicao = 0; var rodadaId = 0; int totalAcumulado = 50; if (rodada != null) { rodadaId = rodada.Id; } try { var ranking = db.Rancking.Where(r => r.rodada_id == rodadaId && r.posicao != 0 && r.classeId == classeId).OrderByDescending(r => r.totalAcumulado).ToList(); qtddJogadores = ranking.Count(); if (qtddJogadores > 1) { posicao = (qtddJogadores / 2); var rankingPosicao = ranking[posicao];// .ToArray()[posicao]; totalAcumulado = Convert.ToInt32(rankingPosicao.totalAcumulado); } return(totalAcumulado); } catch (Exception e) { throw new Exception(e.Message + ": qtddJogadores:" + qtddJogadores + ", posicao:" + posicao + ", rodada: " + rodada.Id); } }
/// <summary> /// Identifica se as jogadas e quantidade de jogadas são válidas. Caso forem, compara as jogadas /// </summary> /// <param name="jogadas"></param> /// <returns>retorna a jogada vencedora</returns> public Rodada rps_game_winner(List <Rodada> jogadas) { Rodada jogadaVencedora = new Rodada(); if (jogadas != null) { if (jogadas.Count != 2) { throw new WrongNumberOfPlayersError(); } List <string> jogadasValidas = new List <string> { "R", "P", "S" }; foreach (var item in jogadas) { if (!jogadasValidas.Contains(item.Jogada.ToUpper())) { throw new NoSuchStrategyError(); } } jogadaVencedora = CompararJogadas(jogadas); } return(jogadaVencedora); }
public Cabecalho GetCabecalho(int userId) { var user = db.UserProfiles.Find(userId); int barragemId = user.barragemId; var qtddRodada = 0; var nomeTemporada = ""; var idRodada = 0; Rodada rodada = null; Cabecalho rankingCabecalho = new Cabecalho(); try { idRodada = db.Rodada.Where(r => r.isAberta == false && r.isRodadaCarga == false && r.barragemId == barragemId).Max(r => r.Id); rodada = db.Rodada.Find(idRodada); } catch (Exception e) { } var classes = db.Classe.Where(c => c.barragemId == barragemId && c.ativa).OrderBy(c => c.nivel).ToList <Classe>(); if (rodada != null) { rankingCabecalho.rodada = "Rodada " + rodada.codigoSeq; if (rodada.temporadaId != null) { qtddRodada = db.Rodada.Where(rd => rd.temporadaId == rodada.temporadaId && rd.Id <= rodada.Id && rd.barragemId == rodada.barragemId).Count(); nomeTemporada = rodada.temporada.nome; rankingCabecalho.rodada = "Rodada " + qtddRodada + "/" + rodada.temporada.qtddRodadas; } rankingCabecalho.dataRodada = rodada.dataFim; } rankingCabecalho.temporada = nomeTemporada; rankingCabecalho.classes = classes; rankingCabecalho.classeUserId = (int)user.classeId; return(rankingCabecalho); }
public CartolaCargaResponse InsertRodada(List <Rodada> listaRodada) { var apiResponse = new CartolaCargaResponse(); try { using var transaction = _cartolaDBContext.Database.BeginTransaction(); var db = _cartolaDBContext.Rodada.ToList(); foreach (var rodada in listaRodada) { if (db.Any(x => x.RodadaId == rodada.RodadaId)) { Rodada rodadaUpdate = db.First(x => x.RodadaId == rodada.RodadaId).UpdateRodada(rodada); _cartolaDBContext.Update(rodadaUpdate); apiResponse.QuantidadeUpdates++; } else { _cartolaDBContext.Add(rodada); apiResponse.QuantidadeInserts++; } } _cartolaDBContext.SaveChanges(); transaction.Commit(); return(apiResponse); } catch (Exception erro) { apiResponse.Errors = erro.Message; return(apiResponse); } }
public Rodada RetornaRodada() { String path = AppDomain.CurrentDomain.BaseDirectory.ToString(); path += "\\Json\\rodada.json"; Rodada rodada = JsonConvert.DeserializeObject <Rodada>(File.ReadAllText(path)); return(rodada); }
public void CadastrarRodada(Rodada rodada) { if (_rodadaRepositorio.RodadaExistente(rodada.Nome, rodada.Grupo.Id)) { throw new BolaoTIException(string.Format(Messages.AlertMessage_Registro_Existente, Classes.Rodada_Class, Field.Rodada_Nome_Field, rodada.Nome)); } _rodadaRepositorio.Insert(rodada); }
public ActionResult Edit(int id = 0) { Rodada rodada = db.Rodada.Find(id); if (rodada == null) { return(HttpNotFound()); } return(View(rodada)); }
// // GET: /Rodada/Details/5 public ActionResult Details(int id = 0) { Rodada rodada = unitOfWork.RodadaRepository.GetByID(id); if (rodada == null) { return(HttpNotFound()); } return(View(rodada)); }
// Use this for initialization void Awake() { int randomNumber = Random.Range(0, textosDinamicas.Length); Jogo.dificuldadeDica = DificuldadeDica(randomNumber); imageTexto.sprite = textosDinamicas[randomNumber]; imageDinamica.sprite = iconesDinamicas[randomNumber]; ((Rodada)Jogo.partida.rodadas[Jogo.rodadaAtual]).dica = Rodada.DicaFromInt(randomNumber); }
public ActionResult Edit(Rodada rodada) { if (ModelState.IsValid) { rodada.dataFim = new DateTime(rodada.dataFim.Year, rodada.dataFim.Month, rodada.dataFim.Day, 23, 59, 59); db.Entry(rodada).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(rodada)); }
public ActionResult Edit(Rodada rodada) { if (ModelState.IsValid) { unitOfWork.RodadaRepository.Update(rodada); unitOfWork.Save(); return(RedirectToAction("Index")); } PopulateDropDownList(rodada.RodadaGrupo.Id); return(View(rodada)); }
public virtual void CadastrarRodada(Rodada Rodada) { using (var unidadeDeTrabalho = _fabricaDeUnidadeDeTrabalho.Criar()) { unidadeDeTrabalho.Iniciar(); _RodadaServicoCadastro.CadastrarRodada(Rodada); unidadeDeTrabalho.Completar(); } }
public virtual void Remover(Rodada Rodada) { using (var unidadeDeTrabalho = _fabricaDeUnidadeDeTrabalho.Criar()) { unidadeDeTrabalho.Iniciar(); _RodadaRepositorio.Delete(Rodada); unidadeDeTrabalho.Completar(); } }
public void Atualizar(Rodada Rodada) { using (var unidadeDeTrabalho = _fabricaDeUnidadeDeTrabalho.Criar()) { unidadeDeTrabalho.Iniciar(); _RodadaRepositorio.Update(Rodada); unidadeDeTrabalho.Completar(); } }
// // GET: /Rodada/Edit/5 public ActionResult Edit(int id = 0) { Rodada rodada = unitOfWork.RodadaRepository.GetByID(id); if (rodada == null) { return(HttpNotFound()); } PopulateDropDownList(rodada.RodadaGrupo.Id); return(View(rodada)); }
public void DidTapProximaRodada() { for(int i = 0; i < Jogo.jogadoresAtivos.Count; i++) { Jogador j = ((Jogador)Jogo.jogadoresAtivos[i]); j.pontuacaoRodada = 0; j.jaPalpitou = false; j.eCliente = false; j.acertou = false; } Rodada novaRodada = new Rodada(); Jogo.partida.rodadas.Add(novaRodada); Jogo.rodadaAtual++; Jogo.numeroPalpite = 0; SceneManager.LoadScene("TelaSorteioCliente"); }