コード例 #1
0
        public void criaNovaSala(CriacaoSala dados, SalaPartida SalaPartidaMaster)
        {
            SalaPartidaMaster.Criador         = dados.UsuarioId;
            SalaPartidaMaster.IdNivel         = dados.NivelId;
            SalaPartidaMaster.Temas           = dados.TemasIds;
            SalaPartidaMaster.MaximoJogadores = dados.Jogadores;

            using (ctx = new JogoMasterEntities())
            {
                var sala = ctx.Salas.Add(new Sala
                {
                    Nivel     = SalaPartidaMaster.IdNivel,
                    Criador   = SalaPartidaMaster.Criador,
                    Jogadores = SalaPartidaMaster.MaximoJogadores,
                    Ativa     = true
                });

                SalaPartidaMaster.Temas.ForEach(temaId =>
                {
                    ctx.SalasTemas.Add(new SalaTemas
                    {
                        SalaId = sala.Id,
                        TemaId = temaId
                    });
                });

                ctx.SaveChanges();
                dados.SalaId         = sala.Id;
                SalaPartidaMaster.Id = sala.Id;
            }
        }
コード例 #2
0
 public void buscaDadosSala(CriacaoSala novoJogador, SalaPartida SalaPartidaMaster)
 {
     using (ctx = new JogoMasterEntities())
     {
         SalaPartidaMaster.Id              = ctx.Salas.Where(x => x.Id == novoJogador.SalaId).Select(x => x.Id).FirstOrDefault();
         SalaPartidaMaster.Criador         = ctx.Salas.Where(x => x.Id == novoJogador.SalaId).Select(x => x.Criador).FirstOrDefault();
         SalaPartidaMaster.Jogadores       = ctx.SalasUsuarios.Where(x => x.SalaId == novoJogador.SalaId).Select(x => x.UsuarioId).ToList();
         SalaPartidaMaster.MaximoJogadores = ctx.Salas.Where(x => x.Id == novoJogador.SalaId).Select(x => x.Jogadores).FirstOrDefault();
         SalaPartidaMaster.JogadoresNaSala = SalaPartidaMaster.Jogadores.Count;
         SalaPartidaMaster.Temas           = ctx.SalasTemas.Where(x => x.SalaId == novoJogador.SalaId).Select(x => x.TemaId).ToList();
         SalaPartidaMaster.IdNivel         = ctx.Salas.Where(x => x.Id == novoJogador.SalaId).Select(x => x.Nivel).FirstOrDefault();
         SalaPartidaMaster.SalaCheia       = SalaPartidaMaster.JogadoresNaSala < SalaPartidaMaster.MaximoJogadores ? false : true;
     }
 }
コード例 #3
0
        public void ValidaDadosSala(CriacaoSala dados, List <string> erros)
        {
            if (dados.UsuarioId <= 0)
            {
                erros.Add("Usuário inválido");
            }

            using (ctx = new JogoMasterEntities())
            {
                if (dados.NovaSala)
                {
                    if (dados.NivelId <= 0)
                    {
                        erros.Add("Nível inválido");
                    }
                    if (dados.TemasIds.Count != 5)
                    {
                        erros.Add("Quantidade de temas inválida");
                    }
                    if (dados.Jogadores < 2 || dados.Jogadores > 4)
                    {
                        erros.Add("Quantidade de jogadores inválida");
                    }
                    dados.TemasIds.ForEach(tema =>
                    {
                        Tema Tema = null;
                        Tema      = ctx.Temas
                                    .FirstOrDefault(x => x.Id == tema);
                        if (Tema == null)
                        {
                            erros.Add($"Tema {tema} inexistente.");
                        }
                    });

                    Nivel Nivel = null;
                    Nivel = ctx.Niveis
                            .FirstOrDefault(x => x.Id == dados.NivelId);
                    if (Nivel == null)
                    {
                        erros.Add($"Nível {dados.NivelId} inexistente.");
                    }
                }
                else
                {
                    if (dados.SalaId <= 0)
                    {
                        erros.Add("Sala inválida");
                    }
                    Sala Sala = null;
                    Sala = ctx.Salas
                           .FirstOrDefault(x => x.Id == dados.SalaId);
                    if (Sala == null)
                    {
                        erros.Add($"Sala {dados.SalaId} inexistente.");
                    }
                }

                Usuario Usuario = null;
                Usuario = ctx.Usuarios
                          .FirstOrDefault(x => x.Id == dados.UsuarioId);
                if (Usuario == null)
                {
                    erros.Add($"Usuário {dados.UsuarioId} inexistente.");
                }
            }
        }