public Operacao Iniciar(int idJogadorSala, int idSala) { var sala = _salaBusiness.Obter(idSala); if (sala == default) { return(new Operacao("Sala não encontrada.", false)); } var crimeSala = _crimeBusiness.Obter(idSala); if (crimeSala != default) { return(new Operacao("A sala já foi iniciada.", false)); } if (sala.IdJogadorSala != idJogadorSala) { return(new Operacao("Esse jogador não pode iniciar a partida", false)); } var jogadoresSala = _jogadorSalaBusiness.Listar(idSala); if (jogadoresSala == null || jogadoresSala.Count < 3) { return(new Operacao("Para iniciar a partida, é necessário que haja pelo menos 3 jogadores.", false)); } return(IniciarPartida(sala, jogadoresSala)); }
public ActionResult Listar(int idSala, int idJogadorSala) { var sala = _salaBusiness.Obter(idSala); if (sala == default) { return(RedirectToAction("Manter", "Sala", new Operacao("Sala não encontrada.", false))); } var jogadoresSala = _jogadorSalaBusiness.Listar(idSala); var jogadorSala = jogadoresSala.SingleOrDefault(_ => _.Id == idJogadorSala); if (jogadorSala == default || jogadorSala.IdSala != sala.Id) { return(RedirectToAction("Manter", "Sala", new Operacao("Jogador não encontrada.", false))); } var jogador = _jogadorBusiness.Obter(jogadorSala.IdJogador); ViewBag.Sala = Mapper.Map <Sala, SalaViewModel>(sala); ViewBag.ID_JOGADOR_SALA = idJogadorSala; ViewBag.NomeJogador = jogador.Descricao; var jogadorSalaDono = _jogadorSalaBusiness.Obter(sala.IdJogadorSala.Value); ViewBag.NomeJogadorDono = _jogadorBusiness.Obter(jogadorSalaDono.IdJogador).Descricao; var suspeitosViewModel = Mapper.Map <List <Suspeito>, List <SuspeitoViewModel> >(_suspeitoBusiness.Listar()); suspeitosViewModel.ForEach(suspeitoViewModel => { jogadorSala = jogadoresSala.FirstOrDefault(_ => _.IdSuspeito == suspeitoViewModel.Id); if (jogadorSala != default) { suspeitoViewModel.IdJogadorSala = jogadorSala.Id; suspeitoViewModel.NickJogador = jogadorSala != null ? _jogadorBusiness.Obter(jogadorSala.IdJogador).Descricao : ""; } }); ViewBag.QtdeJogadorPronto = suspeitosViewModel.Where(x => x.IdJogadorSala != null).Count(); ViewBag.Suspeitos = suspeitosViewModel; return(View()); }
public string Ingressar(int idSala, string dsJogador) { try { var crime = _crimeBusiness.Obter(idSala); if (crime != null) { return(JsonConvert.SerializeObject(new Operacao("A partida já foi iniciada.", false))); } var jogador = _jogadorBusiness.Adicionar(dsJogador); var sala = _salaBusiness.Obter(idSala); if (sala == default) { return(JsonConvert.SerializeObject(new Operacao("Sala não encontrada.", false))); } var operacao = _jogadorSalaBusiness.Adicionar(sala, jogador.Id); if (!operacao.Status) { return(JsonConvert.SerializeObject(operacao)); } var jogadorSala = _jogadorSalaBusiness.Obter(jogador.Id, sala.Id); sala.AlterarJogador(jogadorSala.Id); _salaBusiness.Alterar(sala); var retorno = Json(new { idSala = sala.Id, idJogadorSala = jogadorSala.Id }, "json"); return(JsonConvert.SerializeObject(new Operacao(JsonConvert.SerializeObject(retorno)))); } catch (Exception ex) { return(JsonConvert.SerializeObject(new Operacao(ex.Message, false))); } }