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 Jogar(int idJogadorSala) { var jogadorSala = _jogadorSalaBusiness.Obter(idJogadorSala); if (jogadorSala.IdSuspeito == null) { return(RedirectToAction("Manter", "Sala")); } int idSala = jogadorSala.IdSala; var operacao = _partidaBusiness.Iniciar(idJogadorSala, idSala); ViewBag.ID_Sala = idSala; var jogadoresSala = _jogadorSalaBusiness.Listar(idSala); ViewBag.JogadoresSuspeitos = Mapper.Map <List <JogadorSala>, List <JogadorSuspeitoViewModel> >(jogadoresSala); var locais = _localBusiness.Listar(); ViewBag.Locais = Mapper.Map <List <Local>, List <LocalViewModel> >(locais); this.CarregarAnotacoes(jogadorSala.Id); this.CarregarCartas(jogadorSala.Id); var jogadorSalaViewModel = Mapper.Map <JogadorSala, JogadorSalaViewModel>(_jogadorSalaBusiness.Obter(idJogadorSala)); var historicoPartidaViewModel = Mapper.Map <List <Historico>, List <HistoricoViewModel> >(_historicoBusiness.Listar(idSala)); Local localAtual; ViewBag.PassagemSecreta = false; if (jogadorSala.IdLocal != null) { localAtual = _localBusiness.Obter(jogadorSala.IdLocal.Value); if (localAtual.IdLocalPassagemSecreta != null) { ViewBag.PassagemSecreta = true; } } ViewBag.JogadorSala = jogadorSalaViewModel; ViewBag.Historicos = historicoPartidaViewModel; return(View()); }
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()); }