public IHttpActionResult PutBarragemView(int id, BarragemView barragemView) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != barragemView.Id) { return(BadRequest()); } db.Entry(barragemView).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!BarragemViewExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public IHttpActionResult GetBarragemView(int id) { BarragemView barragemView = db.BarragemView.Find(id); if (barragemView == null) { return(NotFound()); } return(Ok(barragemView)); }
public IHttpActionResult PostBarragemView(BarragemView barragemView) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.BarragemView.Add(barragemView); db.SaveChanges(); return(CreatedAtRoute("DefaultApi", new { id = barragemView.Id }, barragemView)); }
public IHttpActionResult DeleteBarragemView(int id) { BarragemView barragemView = db.BarragemView.Find(id); if (barragemView == null) { return(NotFound()); } db.BarragemView.Remove(barragemView); db.SaveChanges(); return(Ok(barragemView)); }
public ActionResult Index() { DateTime dtNow = DateTime.Now; TimeSpan tsMinute = new TimeSpan(0, 0, 59, 0); //Cria a estancia do obj HttpCookie passando o nome do mesmo HttpCookie cookie = new HttpCookie("_barragemId"); cookie.Value = "9"; cookie.Expires = dtNow + tsMinute; Response.Cookies.Add(cookie); BarragemView barragem = db.BarragemView.Find(9); HttpCookie cookieNome = new HttpCookie("_barragemNome"); cookieNome.Value = barragem.nome; cookieNome.Expires = dtNow + tsMinute; Response.Cookies.Add(cookieNome); return(RedirectToAction("IndexBarragens", "Home")); }
public ActionResult Index(int rodadaId = 0, string ranking = "") { string msg = ""; BarragemView bV = null; var barragemId = 0; try{ if ((rodadaId == 0) && (ranking == "") && (User.Identity.Name != "")) { UserProfile usuario = db.UserProfiles.Find(WebSecurity.GetUserId(User.Identity.Name)); bV = usuario.barragem; rodadaId = db.Rodada.Where(r => r.isRodadaCarga == false && r.barragemId == usuario.barragemId).Max(r => r.Id); ViewBag.IdBarragem = bV.Id; ViewBag.NomeBarragem = bV.nome; } else if (ranking != "") { bV = db.BarragemView.Where(b => b.dominio == ranking).FirstOrDefault(); rodadaId = db.Rodada.Where(r => r.isRodadaCarga == false && r.barragemId == bV.Id).Max(r => r.Id); ViewBag.IdBarragem = bV.Id; ViewBag.NomeBarragem = bV.nome; } else if (rodadaId == 0) { return(RedirectToAction("Login", "Account")); } else { HttpCookie cookie = new HttpCookie("_barragemId"); bV = db.BarragemView.Find(barragemId); } } catch (Exception e) { return(RedirectToAction("Login", "Account")); } try{ var jogo = db.Jogo.Include(j => j.desafiado).Include(j => j.desafiante).Include(j => j.rodada). Where(j => j.rodada_id == rodadaId).OrderBy(j => j.desafiado.classe.nivel).ToList(); msg = "jogos"; if ((rodadaId > 0) && (jogo.Count() > 0)) { barragemId = jogo[0].rodada.barragemId; } ViewBag.Classes = db.Classe.Where(c => c.barragemId == barragemId && c.ativa == true).ToList(); if (jogo.Count() > 0) { barragemId = jogo[0].rodada.barragemId; ViewBag.Rodada = jogo[0].rodada.codigoSeq; ViewBag.DataInicial = jogo[0].rodada.dataInicio; ViewBag.DataFinal = jogo[0].rodada.dataFim; msg = "rodada"; if (jogo[0].rodada.temporadaId != null) { var temporadaId = jogo[0].rodada.temporadaId; var qtddRodada = db.Rodada.Where(r => r.temporadaId == temporadaId && r.Id <= rodadaId && r.barragemId == barragemId).Count(); ViewBag.Temporada = jogo[0].rodada.temporada.nome + " - Rodada " + qtddRodada + " de " + jogo[0].rodada.temporada.qtddRodadas; msg = "temporada"; } else { ViewBag.Temporada = ""; } } return(View(jogo)); } catch (Exception ex) { ViewBag.MsgErro = msg + " - " + ex.Message; return(View()); } }
public ActionResult Index(int id = 0, string nome = "") { List <Rancking> rancking; BarragemView bV = null; try{ if ((id == 0) && (nome == "") && (User.Identity.Name != "")) { UserProfile usuario = db.UserProfiles.Find(WebSecurity.GetUserId(User.Identity.Name)); bV = usuario.barragem; id = db.Rancking.Where(r => r.rodada.isAberta == false && r.rodada.isRodadaCarga == false && r.rodada.barragemId == bV.Id).Max(r => r.rodada_id); ViewBag.IdBarragem = bV.Id; ViewBag.NomeBarragem = bV.nome; } else if (nome != "") { bV = db.BarragemView.Where(b => b.dominio == nome).FirstOrDefault(); id = db.Rancking.Where(r => r.rodada.isAberta == false && r.rodada.isRodadaCarga == false && r.rodada.barragemId == bV.Id).Max(r => r.rodada_id); ViewBag.IdBarragem = bV.Id; ViewBag.NomeBarragem = bV.nome; } else if (id == 0) { return(RedirectToAction("Login", "Account")); } else { HttpCookie cookie = new HttpCookie("_barragemId"); var barragemId = Convert.ToInt32(cookie.Value.ToString()); bV = db.BarragemView.Find(barragemId); } } catch (Exception e) { return(RedirectToAction("Login", "Account")); } rancking = db.Rancking.Include(r => r.userProfile).Include(r => r.rodada). Where(r => r.rodada_id == id && r.posicao > 0 && r.userProfile.situacao != "desativado" && r.userProfile.situacao != "inativo").OrderBy(r => r.classe.nivel).ThenBy(r => r.posicaoClasse).ToList(); ViewBag.Classes = db.Classe.Where(c => c.barragemId == bV.Id && c.ativa == true).OrderBy(c => c.nivel).ToList(); if (rancking.Count() > 0) { var barragem = rancking[0].rodada.barragemId; ViewBag.Rodada = rancking[0].rodada.codigoSeq; ViewBag.RodadaId = rancking[0].rodada.Id; ViewBag.dataRodada = (rancking[0].rodada.dataFim + "").Substring(0, 10); if (rancking[0].rodada.temporadaId != null) { var temporadaId = rancking[0].rodada.temporadaId; var rodadaId = rancking[0].rodada.Id; var qtddRodada = db.Rodada.Where(r => r.temporadaId == temporadaId && r.Id <= rodadaId && r.barragemId == barragem).Count(); ViewBag.Temporada = rancking[0].rodada.temporada.nome + " - Rodada " + qtddRodada + " de " + rancking[0].rodada.temporada.qtddRodadas; } else { ViewBag.Temporada = ""; } } return(View(rancking)); }
public ActionResult Index3(int idJogo = 0, bool Sucesso = false, string MsgAlerta = "") { ViewBag.Sucesso = Sucesso; ViewBag.MsgAlerta = MsgAlerta; ViewBag.SoTorneio = false; ViewBag.ViewOrganizador = false; var usuario = db.UserProfiles.Find(WebSecurity.GetUserId(User.Identity.Name)); Funcoes.CriarCookieBarragem(Response, Server, usuario.barragemId, usuario.barragem.nome); int barragemId = usuario.barragemId; BarragemView barragem = db.BarragemView.Find(barragemId); var barragemName = barragem.nome; string perfil = Roles.GetRolesForUser(User.Identity.Name)[0]; ViewBag.linkPagSeguro = barragem.linkPagSeguro; if ((barragem.soTorneio) != null) { ViewBag.SoTorneio = barragem.soTorneio; } ViewBag.NomeBarragem = barragemName; ViewBag.IdBarragem = barragemId; ViewBag.solicitarAtivacao = ""; ViewBag.Torneio = getTorneioAberto(barragemId); ViewBag.situacaoJogador = usuario.situacao; ViewBag.userId = usuario.UserId; if (perfil.Equals("admin") || perfil.Equals("organizador")) { var pb = db.PagamentoBarragem.Where(p => (bool)p.cobrar && p.barragemId == barragemId && (p.status == "Aguardando" || p.status == "canceled")).OrderByDescending(o => o.Id).ToList(); if (pb.Count() > 0) { if (pb[0].status == "Aguardando") { ViewBag.cobranca = "Olá, o boleto da sua mensalidade já está disponível para pagamento. Clique no link para acessar o boleto ou copie o número do código de barras:"; ViewBag.boleto = pb[0].linkBoleto; ViewBag.numeroCodigoBarras = pb[0].digitableLine; if (((DateTime.Now.Day > 10) && (DateTime.Now.DayOfWeek != DayOfWeek.Saturday) && (DateTime.Now.DayOfWeek != DayOfWeek.Sunday) && (DateTime.Now.DayOfWeek != DayOfWeek.Monday)) || (DateTime.Now.Day > 13)) { var brg = db.Barragens.Find(barragemId); brg.isAtiva = false; db.Entry(brg).State = EntityState.Modified; db.SaveChanges(); ViewBag.cobranca = "Olá, Você possui uma mensalidade em atrasado que ocasionou o bloqueio do seu ranking. Não será possível gerar temporadas e rodadas. Clique no link para acessar o boleto ou copie o número do código de barras para realizar o pagamento:"; } } if (pb[0].status == "canceled") { ViewBag.cobranca = "Seu ranking está inativo por falta de pagamento do boleto. Não será possível gerar temporadas e rodadas. Favor consultar os administradores do rankingdetenis.com"; } } } Jogo jogo = null; if (idJogo == 0) { try { jogo = db.Jogo.Where(u => (u.desafiado_id == usuario.UserId || u.desafiante_id == usuario.UserId) && u.torneioId == null) .OrderByDescending(u => u.Id).Take(1).Single(); ViewBag.isRodadaAtual = true; } catch (System.InvalidOperationException e) { ViewBag.isRodadaAtual = false; //ViewBag.MsgAlert = "Não foi possível encontrar jogos em aberto:" + e.Message; } } else { jogo = db.Jogo.Find(idJogo); ViewBag.isRodadaAtual = false; if (perfil.Equals("admin") || perfil.Equals("organizador")) { ViewBag.ViewOrganizador = true; } } if (jogo != null) { //nao permitir edição caso a rodada já esteja fechada e o placar já tenha sido informado if (!perfil.Equals("admin") && !perfil.Equals("organizador") && (jogo.rodada.isAberta == false) && (jogo.gamesJogados != 0)) { ViewBag.Editar = false; } else { ViewBag.Editar = true; } ViewBag.Placar = ""; if ((jogo.situacao_Id == 4) || (jogo.situacao_Id == 5)) { if (perfil.Equals("admin") || perfil.Equals("organizador")) { ViewBag.VoltarPendente = true; } var placar = jogo.qtddGames1setDesafiado + "/" + jogo.qtddGames1setDesafiante; if (jogo.qtddGames2setDesafiado != 0 || jogo.qtddGames2setDesafiante != 0) { placar = placar + " " + jogo.qtddGames2setDesafiado + "/" + jogo.qtddGames2setDesafiante; } if (jogo.qtddGames3setDesafiado != 0 || jogo.qtddGames3setDesafiante != 0) { placar = placar + " " + jogo.qtddGames3setDesafiado + "/" + jogo.qtddGames3setDesafiante; } ViewBag.Placar = ": " + placar; } if ((jogo.torneioId != null) && (jogo.torneioId > 0)) { var torneioId = jogo.torneioId; ViewBag.NomeTorneio = db.Torneio.Find(torneioId).nome; } ViewBag.ptDefendidosDesafiado = getPontosDefendidos(jogo.desafiado_id, jogo.rodada_id); ViewBag.ptDefendidosDesafiante = getPontosDefendidos(jogo.desafiante_id, jogo.rodada_id); if (jogo.torneioId == null) { var temporadaId = jogo.rodada.temporadaId; var rodadaId = jogo.rodada_id; var qtddRodada = db.Rodada.Where(r => r.temporadaId == temporadaId && r.Id <= rodadaId && r.barragemId == barragemId).Count(); if (temporadaId > 0) { ViewBag.Temporada = jogo.rodada.temporada.nome; ViewBag.NumeroRodada = "Rodada " + qtddRodada + " de " + jogo.rodada.temporada.qtddRodadas; } } } // jogos pendentes var dataLimite = DateTime.Now.AddMonths(-10); var jogosPendentes = db.Jogo.Where(u => (u.desafiado_id == usuario.UserId || u.desafiante_id == usuario.UserId) && !u.rodada.isAberta && u.situacao_Id != 4 && u.situacao_Id != 5 && u.rodada.dataInicio > dataLimite).OrderByDescending(u => u.Id).Take(3).ToList(); if (jogosPendentes.Count() > 0) { ViewBag.JogosPendentes = jogosPendentes; } //var jogosPendentesTorneio = db.Jogo.Where(u => (u.desafiado_id == usuario.UserId || u.desafiante_id == usuario.UserId) && u.situacao_Id != 4 && u.situacao_Id != 5 && u.torneioId > 0).OrderByDescending(u => u.Id).Take(3).ToList(); //if (jogosPendentesTorneio.Count() > 0){ // ViewBag.JogosPendentesTorneio = jogosPendentesTorneio; //} try { List <Rancking> ranckingJogadorDesafiado = db.Rancking.Where(r => r.userProfile_id == jogo.desafiado_id && r.posicaoClasse != null).OrderByDescending(r => r.rodada_id).Take(1).ToList(); List <Rancking> ranckingJogadorDesafiante = db.Rancking.Where(r => r.userProfile_id == jogo.desafiante_id && r.posicaoClasse != null).OrderByDescending(r => r.rodada_id).Take(1).ToList(); if (ranckingJogadorDesafiado.Count > 0) { ViewBag.posicaoDesafiado = ranckingJogadorDesafiado[0].posicaoClasse + "º"; } else { ViewBag.posicaoDesafiado = "sem ranking"; } if (ranckingJogadorDesafiante.Count > 0) { ViewBag.posicaoDesafiante = ranckingJogadorDesafiante[0].posicaoClasse + "º"; } else { ViewBag.posicaoDesafiante = "sem ranking"; } var jogosHeadToHead = db.Jogo.Where(j => (j.desafiado_id == jogo.desafiado_id && j.desafiante_id == jogo.desafiante_id) || (j.desafiante_id == jogo.desafiado_id && j.desafiado_id == jogo.desafiante_id)).ToList(); ViewBag.qtddVitoriasDesafiado = jogosHeadToHead.Where(j => j.idDoVencedor == jogo.desafiado_id).Count(); ViewBag.qtddVitoriasDesafiante = jogosHeadToHead.Where(j => j.idDoVencedor == jogo.desafiante_id).Count(); }catch (Exception e) {} try { ViewBag.melhorRankingDesafiado = ""; var melhorRankingDesafiado = db.Rancking.Where(r => r.userProfile_id == jogo.desafiado_id && r.posicaoClasse != null && r.classeId != null).OrderBy(r => r.classe.nivel).ThenBy(r => r.posicaoClasse).Take(1).ToList(); ViewBag.melhorRankingDesafiado = melhorRankingDesafiado[0].posicaoClasse + "º/" + melhorRankingDesafiado[0].classe.nome; } catch (Exception e) { } try { ViewBag.melhorRankingDesafiante = ""; var melhorRankingDesafiante = db.Rancking.Where(r => r.userProfile_id == jogo.desafiante_id && r.posicaoClasse != null && r.classeId != null).OrderBy(r => r.classe.nivel).ThenBy(r => r.posicaoClasse).Take(1).ToList(); ViewBag.melhorRankingDesafiante = melhorRankingDesafiante[0].posicaoClasse + "º/" + melhorRankingDesafiante[0].classe.nome; } catch (Exception e) { } // gráfico linha - desempenho no ranking var meuRanking = db.Rancking.Where(r => r.userProfile_id == usuario.UserId && !r.rodada.isRodadaCarga && r.posicaoClasse != null && r.classeId != null).OrderByDescending(r => r.rodada.dataInicio).Take(7).ToList(); var labels = ""; var dados = ""; var primeiraVez = true; foreach (var rk in meuRanking) { if (primeiraVez) { primeiraVez = false; labels = "'" + rk.rodada.codigoSeq + ": " + rk.classe.nome.Replace("Classe", "Cl.") + "'"; dados = "" + rk.posicaoClasse; } else { dados = rk.posicaoClasse + "," + dados; labels = "'" + rk.rodada.codigoSeq + ": " + rk.classe.nome.Replace("Classe", "Cl.") + "'," + labels; } } ViewBag.ChartLinelabels = labels; ViewBag.ChartLineData = dados; ViewBag.meuRanking = meuRanking; // gráfico rosca - desempenho nos jogos var meusJogos = db.Jogo.Where(j => (j.desafiado_id == usuario.UserId || j.desafiante_id == usuario.UserId) && (j.situacao_Id == 5 || j.situacao_Id == 4) && j.torneioId == null).ToList(); ViewBag.qtddTotalDerrotas = meusJogos.Where(j => j.idDoVencedor != usuario.UserId).Count(); ViewBag.qtddTotalVitorias = meusJogos.Where(j => j.idDoVencedor == usuario.UserId).Count(); //ViewBag.qtddTotalWos = meusJogos.Where(j => j.situacao_Id == 5).Count(); return(View(jogo)); }
public ActionResult Index2(int idJogo = 0) { ViewBag.SoTorneio = false; var usuario = db.UserProfiles.Find(WebSecurity.GetUserId(User.Identity.Name)); Funcoes.CriarCookieBarragem(Response, Server, usuario.barragemId, usuario.barragem.nome); int barragemId = usuario.barragemId; BarragemView barragem = db.BarragemView.Find(barragemId); var barragemName = barragem.nome; ViewBag.linkPagSeguro = barragem.linkPagSeguro; if ((barragem.soTorneio) != null) { ViewBag.SoTorneio = barragem.soTorneio; } ViewBag.NomeBarragem = barragemName; ViewBag.IdBarragem = barragemId; ViewBag.solicitarAtivacao = ""; ViewBag.Torneio = getTorneioAberto(barragemId); ViewBag.TemFotoPerfil = true; if (String.IsNullOrEmpty(usuario.fotoURL)) { ViewBag.TemFotoPerfil = false; } Jogo jogo = null; if (idJogo == 0) { try { jogo = db.Jogo.Where(u => (u.desafiado_id == usuario.UserId || u.desafiante_id == usuario.UserId) && u.torneioId == null) .OrderByDescending(u => u.Id).Take(1).Single(); } catch (System.InvalidOperationException e) { //ViewBag.MsgAlert = "Não foi possível encontrar jogos em aberto:" + e.Message; } } else { jogo = db.Jogo.Find(idJogo); } if (jogo != null) { //nao permitir edição caso a rodada já esteja fechada e o placar já tenha sido informado //string perfil = Roles.GetRolesForUser(User.Identity.Name)[0]; //if (!perfil.Equals("admin") && !perfil.Equals("organizador") && (jogo.rodada.isAberta == false) && (jogo.gamesJogados != 0)){ // ViewBag.Editar = false; //}else{ // ViewBag.Editar = true; //} if ((jogo.torneioId != null) && (jogo.torneioId > 0)) { var torneioId = jogo.torneioId; ViewBag.NomeTorneio = db.Torneio.Find(torneioId).nome; } ViewBag.situacao_Id = new SelectList(db.SituacaoJogo, "Id", "descricao", jogo.situacao_Id); ViewBag.ptDefendidosDesafiado = getPontosDefendidos(jogo.desafiado_id, jogo.rodada_id); ViewBag.ptDefendidosDesafiante = getPontosDefendidos(jogo.desafiante_id, jogo.rodada_id); if (jogo.torneioId == null) { var temporadaId = jogo.rodada.temporadaId; var rodadaId = jogo.rodada_id; var qtddRodada = db.Rodada.Where(r => r.temporadaId == temporadaId && r.Id <= rodadaId && r.barragemId == barragemId).Count(); if (temporadaId > 0) { ViewBag.Temporada = jogo.rodada.temporada.nome + " - Rodada " + qtddRodada + " de " + jogo.rodada.temporada.qtddRodadas; } } } // jogos pendentes var dataLimite = DateTime.Now.AddMonths(-10); var jogosPendentes = db.Jogo.Where(u => (u.desafiado_id == usuario.UserId || u.desafiante_id == usuario.UserId) && !u.rodada.isAberta && u.situacao_Id != 4 && u.situacao_Id != 5 && u.rodada.dataInicio > dataLimite).OrderByDescending(u => u.Id).Take(3).ToList(); if (jogosPendentes.Count() > 0) { ViewBag.JogosPendentes = jogosPendentes; } //var jogosPendentesTorneio = db.Jogo.Where(u => (u.desafiado_id == usuario.UserId || u.desafiante_id == usuario.UserId) && u.situacao_Id != 4 && u.situacao_Id != 5 && u.torneioId > 0).OrderByDescending(u => u.Id).Take(3).ToList(); //if (jogosPendentesTorneio.Count() > 0){ // ViewBag.JogosPendentesTorneio = jogosPendentesTorneio; //} // últimos jogos já finalizados var ultimosJogosFinalizados = db.Jogo.Where(u => (u.desafiado_id == usuario.UserId || u.desafiante_id == usuario.UserId) && !u.rodada.isAberta && (u.situacao_Id == 4 || u.situacao_Id == 5)).OrderByDescending(u => u.Id).Take(5).ToList(); ViewBag.JogosFinalizados = ultimosJogosFinalizados; return(View(jogo)); }
public void FecharRodada(int id) { string msg = ""; db.Database.ExecuteSqlCommand("Delete from Rancking where rodada_id=" + id + " and posicaoClasse is not null"); List <Jogo> jogos = db.Jogo.Where(r => r.rodada_id == id).ToList(); var pontosDesafiante = 0.0; var pontosDesafiado = 0.0; Rodada rodada = db.Rodada.Find(id); BarragemView barragem = db.BarragemView.Find(rodada.barragemId); try { using (TransactionScope scope = new TransactionScope()) { foreach (Jogo item in jogos) { pontosDesafiante = calcularPontosDesafiante(item); pontosDesafiado = calcularPontosDesafiado(item); msg = "pontosDesafio" + item.desafiado_id; if (!item.desafiante.situacao.Equals("curinga")) { gravarPontuacaoNaRodada(id, item.desafiante, pontosDesafiante); msg = "gravarPontuacaoNaRodadaDesafiante" + item.desafiante_id; } gravarPontuacaoNaRodada(id, item.desafiado, pontosDesafiado); msg = "gravarPontuacaoNaRodadaDesafiado" + item.desafiado_id; if (barragem.suspensaoPorAtraso) { verificarRegraSuspensaoPorAtraso(item); } if (barragem.suspensaoPorWO) { verificarRegraSuspensaoPorWO(item); } msg = "verificarRegraSuspensao" + item.desafiado_id; } gerarPontuacaoDosJogadoresForaDaRodada(id, rodada.barragemId); msg = "gerarPontuacaoDosJogadoresForaDaRodada"; gerarRancking(id); msg = "gerarRanking"; List <Classe> classes = db.Classe.Where(c => c.barragemId == rodada.barragemId).ToList(); for (int i = 0; i < classes.Count(); i++) { gerarRanckingPorClasse(id, classes[i].Id); } msg = "gerarRankingPorClasse"; rodada.isAberta = false; rodada.dataFim = DateTime.Now; db.Entry(rodada).State = EntityState.Modified; db.SaveChanges(); scope.Complete(); msg = "ok"; } } catch (Exception ex) { throw new Exception("Erro ao fechar rodada", ex); } }
public ActionResult Index2(int idJogo = 0) { HttpCookie cookie = Request.Cookies["_barragemId"]; var barragemId = 1; var barragemName = "Barragem do Cerrado"; if (cookie != null) { barragemId = Convert.ToInt32(cookie.Value.ToString()); BarragemView barragem = db.BarragemView.Find(barragemId); barragemName = barragem.nome; } ViewBag.NomeBarragem = barragemName; ViewBag.solicitarAtivacao = ""; Jogo jogo = null; var usuario = db.UserProfiles.Find(WebSecurity.GetUserId(User.Identity.Name)); if (idJogo == 0) { try{ jogo = db.Jogo.Where(u => u.desafiado_id == usuario.UserId || u.desafiante_id == usuario.UserId) .OrderByDescending(u => u.Id).Take(1).Single(); } catch (System.InvalidOperationException e) { //ViewBag.MsgAlert = "Não foi possível encontrar jogos em aberto:" + e.Message; } } else { jogo = db.Jogo.Find(idJogo); } if (jogo != null) { //nao permitir edição caso a rodada já esteja fechada e o placar já tenha sido informado string perfil = Roles.GetRolesForUser(User.Identity.Name)[0]; if (!perfil.Equals("admin") && !perfil.Equals("organizador") && (jogo.rodada.isAberta == false) && (jogo.gamesJogados != 0)) { ViewBag.Editar = false; } else { ViewBag.Editar = true; } ViewBag.situacao_Id = new SelectList(db.SituacaoJogo, "Id", "descricao", jogo.situacao_Id); ViewBag.ptDefendidosDesafiado = getPontosDefendidos(jogo.desafiado_id, jogo.rodada_id); ViewBag.ptDefendidosDesafiante = getPontosDefendidos(jogo.desafiante_id, jogo.rodada_id); } if ((usuario.situacao == "desativado") || (usuario.situacao == "pendente")) { ViewBag.solicitarAtivacao = Class.MD5Crypt.Criptografar(usuario.UserName); } // jogos pendentes var dataLimite = DateTime.Now.AddMonths(-10); var jogosPendentes = db.Jogo.Where(u => (u.desafiado_id == usuario.UserId || u.desafiante_id == usuario.UserId) && !u.rodada.isAberta && u.situacao_Id != 4 && u.situacao_Id != 5 && u.rodada.dataInicio > dataLimite).OrderByDescending(u => u.Id).Take(3).ToList(); ViewBag.JogosPendentes = jogosPendentes; // últimos jogos já finalizados var ultimosJogosFinalizados = db.Jogo.Where(u => (u.desafiado_id == usuario.UserId || u.desafiante_id == usuario.UserId) && !u.rodada.isAberta && (u.situacao_Id == 4 || u.situacao_Id == 5)).OrderByDescending(u => u.Id).Take(5).ToList(); ViewBag.JogosFinalizados = ultimosJogosFinalizados; return(View(jogo)); }
public ActionResult FecharRodada(int id) { string msg = ""; string detalheErro = ""; db.Database.ExecuteSqlCommand("Delete from Rancking where rodada_id=" + id + " and posicaoClasse is not null"); List <Jogo> jogos = db.Jogo.Where(r => r.rodada_id == id).ToList(); var pontosDesafiante = 0.0; var pontosDesafiado = 0.0; Rodada rodada = db.Rodada.Find(id); BarragemView barragem = db.BarragemView.Find(rodada.barragemId); var log2 = new Log(); log2.descricao = "Fecha data:" + DateTime.Now + " " + barragem.nome + " Fecha barragem"; db.Log.Add(log2); db.SaveChanges(); try { using (TransactionScope scope = new TransactionScope()){ foreach (Jogo item in jogos) { pontosDesafiante = rn.calcularPontosDesafiante(item); pontosDesafiado = rn.calcularPontosDesafiado(item); msg = "pontosDesafio" + item.desafiado_id; if (!item.desafiante.situacao.Equals("curinga")) { rn.gravarPontuacaoNaRodada(id, item.desafiante, pontosDesafiante); msg = "gravarPontuacaoNaRodadaDesafiante" + item.desafiante_id; } rn.gravarPontuacaoNaRodada(id, item.desafiado, pontosDesafiado); msg = "gravarPontuacaoNaRodadaDesafiado" + item.desafiado_id; if (barragem.suspensaoPorAtraso) { verificarRegraSuspensaoPorAtraso(item); } if (barragem.suspensaoPorWO) { verificarRegraSuspensaoPorWO(item); } msg = "verificarRegraSuspensao" + item.desafiado_id; } rn.gerarPontuacaoDosJogadoresForaDaRodada(id, rodada.barragemId); msg = "gerarPontuacaoDosJogadoresForaDaRodada"; gerarRancking(id); msg = "gerarRanking"; List <Classe> classes = db.Classe.Where(c => c.barragemId == rodada.barragemId).ToList(); for (int i = 0; i < classes.Count(); i++) { gerarRanckingPorClasse(id, classes[i].Id); } msg = "gerarRankingPorClasse"; rodada.isAberta = false; rodada.dataFim = DateTime.Now; db.Entry(rodada).State = EntityState.Modified; db.SaveChanges(); scope.Complete(); msg = "ok"; } }catch (Exception ex) { msg = msg + ": " + ex.Message; if (ex.InnerException == null) { ViewBag.DetalheErro = ex.StackTrace; } else { ViewBag.DetalheErro = ex.InnerException.StackTrace; } ViewBag.MsgErro = msg; return(View()); } return(RedirectToAction("Index", new { msg = msg, detalheErro = detalheErro })); }