Beispiel #1
0
        // Specify what you want to happen when the Elapsed event is raised.
        private void OnTimedEvent(object source, ElapsedEventArgs e)
        {
            using (var db = new dominoeng3Entities())
            {
                int id    = Convert.ToInt32(idPlayer);
                var query = from u in db.partidas
                            where u.player1 == id && (u.estado == 0 || u.estado == 1)
                            select u;

                if (query.Count() > 0)
                {
                    partida p = query.First();
                    if (p.estado == 0)
                    {
                        idGame = Convert.ToString(p.ID);
                    }
                    else if (p.estado == 1)
                    {
                        if (String.IsNullOrEmpty(idGame))
                        {
                            idGame = Convert.ToString(p.ID);
                        }

                        if (idGame.Equals(Convert.ToString(p.ID)))
                        {
                            if (showMePedido)
                            {
                                MessageBox.Show("Seu pedido de jogo foi aceito! Você pode jogar agora!");
                                showMePedido = false;
                            }
                        }
                    }
                }
            }
        }
Beispiel #2
0
        private void UpdateDataGridView()
        {
            using (var db = new dominoeng3Entities())
            {
                var query = from u in db.partidas
                            where u.estado == 0 && u.player2 == idPlayer
                            select u;

                DataTable  user = new DataTable("User");
                DataColumn c0   = new DataColumn("Nome");
                DataColumn c1   = new DataColumn("E-mail");
                user.Columns.Add(c0);
                user.Columns.Add(c1);

                foreach (var x in query)
                {
                    int id     = x.player1;
                    var pquery = from u in db.players
                                 where u.ID == id
                                 select u;
                    var y = pquery.FirstOrDefault();

                    DataRow row = user.NewRow();
                    row["Nome"]   = y.Nome;
                    row["E-mail"] = y.Email;
                    user.Rows.Add(row);
                }

                dataGridView1.DataSource = user;
            }
        }
Beispiel #3
0
        private void btnSaveConfig_Click(object sender, EventArgs e)
        {
            if (FormSkinManager.selected_img_fundo_tab != null)
            {
                saved_img_fundo_tab = FormSkinManager.selected_img_fundo_tab;
            }
            else
            {
                using (var db = new dominoeng3Entities())
                {
                    var query = from u in db.img_fundo_tab
                                select u;

                    if (query.Count() > 0)
                    {
                        var first = query.First();
                        saved_img_fundo_tab = first.conteudo_arquivo;
                    }
                }
            }

            try
            {
                id_conj_img_pecas = Convert.ToInt32(cbBSkinPeca.SelectedValue);
                MessageBox.Show("Skins salvas com sucesso!");
                this.Close();
            }
            catch (Exception)
            {
                MessageBox.Show("Não foi possível salvar a skin da peça de dominó!");
            }
        }
Beispiel #4
0
        private void FormSkinManager_Load(object sender, EventArgs e)
        {
            FormSkinManager.LoadMe();
            using (var db = new dominoeng3Entities())
            {
                var query = from u in db.img_fundo_tab
                            select u;

                List <FundoTabuleiroComboBox> lista = new List <FundoTabuleiroComboBox>();
                foreach (var result in query)
                {
                    FundoTabuleiroComboBox f = new FundoTabuleiroComboBox();
                    f.Name  = result.nome_fundo;
                    f.Value = result.ID.ToString();
                    lista.Add(f);
                }

                this.PopulateComboBoxFundoTab(lista);

                var query_pecas = from u in db.conj_img_pecas
                                  select u;

                List <SkinPecaComboBox> lista_pecas = new List <SkinPecaComboBox>();
                foreach (var result in query_pecas)
                {
                    SkinPecaComboBox s = new SkinPecaComboBox();
                    s.Name  = result.nome_conjunto;
                    s.Value = result.ID.ToString();
                    lista_pecas.Add(s);
                }

                this.PopulateComboBoxSkinPecas(lista_pecas);
            }
        }
Beispiel #5
0
        private byte[] GetImageContent(int id_cip, int faceA, int faceB)
        {
            using (var db = new dominoeng3Entities())
            {
                var query = from u in db.img_peca
                            where u.id_conjunto_pecas == id_cip &&
                            (u.peca_num_abaixo == faceA && u.peca_num_cima == faceB)
                            select u;

                if (query.Count() == 0)
                {
                    query = from u in db.img_peca
                            where u.id_conjunto_pecas == id_cip &&
                            (u.peca_num_abaixo == faceB && u.peca_num_cima == faceA)
                            select u;

                    if (query.Count() == 0)
                    {
                        if (faceA != -1 || faceB != -1)
                        {
                            ShowMsg("Opa! Não foi possível carregar a imagem desejada! Id_cip: " + id_cip + " ,faces: " + faceA + "-" + faceB);
                        }
                        return(new byte[] { });
                    }
                }

                var peca = query.FirstOrDefault();
                return(peca.conteudo_arquivo);
            }
        }
Beispiel #6
0
        private void btnPlay_Click(object sender, EventArgs e)
        {
            if (dataGridView1.SelectedCells.Count > 0)
            {
                int selectedrowindex = dataGridView1.SelectedCells[0].RowIndex;

                DataGridViewRow selectedRow = dataGridView1.Rows[selectedrowindex];

                string email = Convert.ToString(selectedRow.Cells["E-mail"].Value);
                string nome  = Convert.ToString(selectedRow.Cells["Nome"].Value);

                using (var db = new dominoeng3Entities())
                {
                    var id = db.players.Where(x => x.Nome == nome).Select(x => x.ID);
                    if (id.Count() > 0)
                    {
                        MessageBox.Show("Pedindo novo jogo com o jogador de id: " + id.First() + " meu id: " + idPlayer);
                        var partidas = db.Set <partida>();
                        partidas.Add(new partida {
                            player1 = Convert.ToInt32(idPlayer), player2 = Convert.ToInt32(id.First()), resultado = ""
                        });
                        db.SaveChanges();

                        MessageBox.Show("Pedido de novo jogo feito!");
                    }
                }
            }
        }
Beispiel #7
0
        private void MyMethod()
        {
            using (var db = new dominoeng3Entities())
            {
                var query = from u in db.partidas
                            where u.estado == 0 && u.player2 == idPlayer
                            select u;

                if (query.Count() > 0)
                {
                    MessageBox.Show("Há pedidos de novos jogos pendentes para você! Verifique isto na tela correspondente!");
                    this.disableChecking();
                }
            }
        }
Beispiel #8
0
        private string GetPlayerEmail(int idPlayer)
        {
            using (var db = new dominoeng3Entities())
            {
                var query = from u in db.players
                            where u.ID == idPlayer
                            select u;

                if (query.Count() == 1)
                {
                    var x = query.First();

                    return(x.Email);
                }
            }

            return("");
        }
Beispiel #9
0
        private void HoldNewGameState4(int idGame)
        {
            while (true)
            {
                using (var db = new dominoeng3Entities())
                {
                    var query = from u in db.partidas
                                where (u.ID == idGame)
                                select u;

                    if (query.Count() > 0)
                    {
                        partida p = query.First();
                        if (p.estado == 5)
                        {
                            MessageBox.Show("O outro jogador aceitou jogar com você! Começando a jogar agora...!");

                            string idGameStr = Convert.ToString(p.ID);
                            string idPlayer1 = Convert.ToString(p.player1);
                            string idPlayer2 = Convert.ToString(p.player2);

                            string idOpponent;

                            if (idPlayer1.Equals(this.idPlayer))
                            {
                                idOpponent = idPlayer2;
                            }
                            else
                            {
                                idOpponent = idPlayer1;
                            }

                            fmdomino fd = new fmdomino(idGameStr, Convert.ToString(this.idPlayer), idOpponent);
                            fd.ShowDialog();
                        }
                        else if (p.estado == 7)
                        {
                            MessageBox.Show("O outro jogador desistiu de jogar o jogo agora! Abortando esta partida agora...!");
                            break;
                        }
                    }
                }
            }
        }
Beispiel #10
0
        public static byte[] GetSavedImgFundoTab()
        {
            if (saved_img_fundo_tab == null)
            {
                using (var db = new dominoeng3Entities())
                {
                    var query = from u in db.img_fundo_tab
                                select u;

                    if (query.Count() > 0)
                    {
                        var first = query.First();
                        return(first.conteudo_arquivo);
                    }
                }
            }

            return(saved_img_fundo_tab);
        }
Beispiel #11
0
        private void btnlogin_Click(object sender, EventArgs e)
        {
            using (var db = new dominoeng3Entities())
            {
                var query = from u in db.players
                            where u.Nome == txtuser.Text && u.Senha == txtpass.Text
                            select u;

                if (query.Count() == 1)
                {
                    List <string> dadosWs = new List <string>();
                    dadosWs.Add(Convert.ToString(query.First().ID));
                    dadosWs.Add(query.First().Email);
                    dadosWs.Add(txtuser.Text);
                    string idJogador = Convert.ToString(query.First().ID);
                    string result    = RequisicoesRestWS.CustodiaRequisicao(WsUrlManager.GetUrl("/connect"), dadosWs);

                    if (String.IsNullOrEmpty(result))
                    {
                        MessageBox.Show("Não foi possível logar-se! Tente novamente, mais tarde!");
                        return;
                    }

                    if (Convert.ToBoolean(result))
                    {
                        MessageBox.Show("O id do seu jogador é: " + idJogador);
                        FormMainScreen ms = new FormMainScreen(idJogador);
                        ms.ShowDialog();
                        txtpass.Text = "";
                        txtuser.Text = "";
                        this.Show();
                    }
                    else
                    {
                        MessageBox.Show("O Web Service retornou um resultado inválido! Abortando a operação de login!");
                    }
                }
                else
                {
                    MessageBox.Show("Nome e senha de usuário inválidos!");
                }
            }
        }
Beispiel #12
0
        private void btnPlayAcceptedGame_Click(object sender, EventArgs e)
        {
            try
            {
                using (var db = new dominoeng3Entities())
                {
                    int     id = Convert.ToInt32(idPlayer);
                    partida p  = db.partidas.Single(c => c.player1 == id && c.estado == 1);
                    p.estado = 3;

                    db.SaveChanges();

                    MessageBox.Show("Pedido feito para começar o jogo aceito agora!");
                }
            }
            catch (System.InvalidOperationException)
            {
                MessageBox.Show("Não existem jogos aceitos para pedidos deste jogador!");
            }
        }
Beispiel #13
0
        private void cbBSkinPeca_SelectedValueChanged(object sender, EventArgs e)
        {
            try
            {
                int id = Convert.ToInt32(((ComboBox)sender).SelectedValue);
                using (var db = new dominoeng3Entities())
                {
                    var query = from u in db.img_peca
                                where u.id_conjunto_pecas == id &&
                                u.peca_num_abaixo == 0 && u.peca_num_cima == 0
                                select u;

                    if (query.Count() > 0)
                    {
                        var first = query.First();
                        LoadTileImage(first.conteudo_arquivo);
                    }
                }
            }
            catch (Exception)
            {
            }
        }
Beispiel #14
0
        public static void LoadMe()
        {
            using (var db = new dominoeng3Entities())
            {
                var query = from u in db.img_fundo_tab
                            select u;

                if (query.Count() > 0)
                {
                    var first = query.First();
                    FormSkinManager.selected_img_fundo_tab = first.conteudo_arquivo;
                }

                var query_pecas = from u in db.conj_img_pecas
                                  select u;

                if (query_pecas.Count() > 0)
                {
                    var first = query_pecas.First();
                    id_conj_img_pecas = first.ID;
                }
            }
        }
Beispiel #15
0
        private void cbBFundoTab_SelectedValueChanged(object sender, EventArgs e)
        {
            try
            {
                int id = Convert.ToInt32(((ComboBox)sender).SelectedValue);
                using (var db = new dominoeng3Entities())
                {
                    var query = from u in db.img_fundo_tab
                                where u.ID == id
                                select u;

                    if (query.Count() > 0)
                    {
                        var first = query.First();
                        FormSkinManager.selected_img_fundo_tab = first.conteudo_arquivo;
                        LoadTabuleiroImage(FormSkinManager.selected_img_fundo_tab);
                    }
                }
            }
            catch (Exception)
            {
            }
        }
Beispiel #16
0
        private void btnRejectGameRequest_Click(object sender, EventArgs e)
        {
            if (dataGridView1.SelectedCells.Count > 0)
            {
                int selectedrowindex = dataGridView1.SelectedCells[0].RowIndex;

                DataGridViewRow selectedRow = dataGridView1.Rows[selectedrowindex];

                string email = Convert.ToString(selectedRow.Cells["E-mail"].Value);
                string nome  = Convert.ToString(selectedRow.Cells["Nome"].Value);

                using (var db = new dominoeng3Entities())
                {
                    var id = db.players.Where(x => x.Nome == nome).Select(x => x.ID);
                    if (id.Count() > 0)
                    {
                        MessageBox.Show("Rejeitando novo jogo com o jogador de id: " + id.FirstOrDefault() + " meu id: " + idPlayer);
                        partida p = db.partidas.Single(c => c.player1 == id.FirstOrDefault() && c.player2 == idPlayer && c.estado == 0);

                        p.estado = 2;

                        db.SaveChanges();

                        MessageBox.Show("Pedido de novo jogo rejeitado!");
                        this.UpdateDataGridView();
                    }
                    else
                    {
                        MessageBox.Show("Selecione um pedido válido antes de rejeitá-lo!");
                    }
                }
            }
            else
            {
                MessageBox.Show("Selecione um pedido antes de rejeitá-lo!");
            }
        }
Beispiel #17
0
        private void btnNewUser_Click(object sender, EventArgs e)
        {
            if (!validateTextBoxField(txtUserName, 100, "Nome de Usuário"))
            {
                return;
            }

            if (!validateTextBoxField(txtUserPass, 25, "Dado de Senha de Usuário"))
            {
                return;
            }

            if (!validateTextBoxField(txtUserMail, 50, "E-mail de Usuário"))
            {
                return;
            }

            if (Decimal.ToInt32(numUserAge.Value) == 0)
            {
                MessageBox.Show("Dado de Idade de Usuário é inválido!");
                return;
            }

            using (var db = new dominoeng3Entities())
            {
                var players = db.Set <player>();
                players.Add(new player {
                    Nome  = txtUserName.Text, Senha = txtUserPass.Text,
                    Email = txtUserMail.Text, Idade = Decimal.ToInt32(numUserAge.Value)
                });

                db.SaveChanges();

                MessageBox.Show("Novo usuário cadastrado com sucesso!");
                this.Close();
            }
        }
Beispiel #18
0
        private void PlayMethod()
        {
            using (var db = new dominoeng3Entities())
            {
                var query = from u in db.partidas
                            where (u.estado == 3 && u.player2 == idPlayer)
                            select u;

                if (query.Count() > 0)
                {
                    DialogResult res = MessageBox.Show("Você quer jogar agora, assim como o Jogador 1?", "Confirmation", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);

                    if (res == DialogResult.OK)
                    {
                        int     idGame;
                        partida p = query.First();
                        idGame   = p.ID;
                        p.estado = p.estado + 1;
                        db.SaveChanges();
                        MessageBox.Show("Você decidiu jogar agora!");
                        HoldNewGameState4(idGame);
                    }
                    else if (res == DialogResult.Cancel)
                    {
                        partida p = query.First();
                        p.estado = 7;
                        db.SaveChanges();
                        MessageBox.Show("Você decidiu não jogar agora!");
                    }
                }
                else
                {
                    query = from u in db.partidas
                            where (u.estado == 4 && (u.player1 == idPlayer || u.player2 == idPlayer))
                            select u;

                    if (query.Count() > 0)
                    {
                        partida p = query.First();

                        idGame = Convert.ToString(p.ID);
                        string idPlayer1 = Convert.ToString(p.player1);
                        string idPlayer2 = Convert.ToString(p.player2);

                        DialogResult res = MessageBox.Show("O jogo pode ser iniciado agora, mesmo?", "Confirmation", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
                        if (res == DialogResult.OK)
                        {
                            p.estado = p.estado + 1;
                            db.SaveChanges();

                            List <string> dadosWs = new List <string>();
                            dadosWs.Add(idGame);
                            dadosWs.Add(idPlayer1);
                            dadosWs.Add(idPlayer2);

                            string result = RequisicoesRestWS.CustodiaRequisicao(WsUrlManager.GetUrl("/newgame"), dadosWs);

                            if (String.IsNullOrEmpty(result))
                            {
                                MessageBox.Show("Não foi possível logar-se! Tente novamente, mais tarde!");
                                return;
                            }

                            if (Convert.ToBoolean(result))
                            {
                                string idOpponent;

                                if (idPlayer1.Equals(this.idPlayer))
                                {
                                    idOpponent = idPlayer2;
                                }
                                else
                                {
                                    idOpponent = idPlayer1;
                                }

                                fmdomino fd = new fmdomino(idGame, Convert.ToString(this.idPlayer), idOpponent);
                                fd.ShowDialog();
                            }
                            else
                            {
                                MessageBox.Show("O Web Service retornou um resultado inválido! Abortando a operação de inicio de jogo!");
                            }
                        }
                        else if (res == DialogResult.Cancel)
                        {
                            this.playIt = false;
                            MessageBox.Show("Você decidiu não jogar agora!");
                        }
                    }
                }
            }
        }
Beispiel #19
0
        private void fmdomino_Load(object sender, EventArgs e)
        {
            MemoryStream ms = new MemoryStream(FormSkinManager.GetSavedImgFundoTab());

            this.BackgroundImage = Image.FromStream(ms);

            int id_cjto_img_pecas = FormSkinManager.GetIdConjImgPecas();

            PictureBox.CheckForIllegalCrossThreadCalls = false;

            //Inicia com as peças iniciais + peça central.

            /*Os códigos de botões novos terão de ser criados aqui
             * Pensei que criar peças novas usando as funções
             * E nessas mesmas funções colocar os pensamentos lógicos de
             * posicionamento certo ou errado.*/
            /*As peças serão inicializadas com structs identificando
             * a cabeça e o final da peça */
            /* As peças podem ser cadastradas no banco de dados */

            this.SetPieces();

            using (var db = new dominoeng3Entities())
            {
                var query = from u in db.conj_img_pecas
                            where u.ID == id_cjto_img_pecas
                            select u;

                if (query.Count() > 0)
                {
                    cip = query.FirstOrDefault();
                }
                else
                {
                    query = from u in db.conj_img_pecas
                            select u;

                    if (query.Count() > 0)
                    {
                        cip = query.FirstOrDefault();
                    }
                    else
                    {
                        ShowMsg("Erro! Nenhum conjunto de imagem foi carregado!");
                    }
                }

                var query2 = from u in db.img_fundo_tab
                             select u;

                if (query2.Count() > 0)
                {
                    ift = query2.FirstOrDefault();
                }
                else
                {
                    ShowMsg("Opa! Não existe ao menos uma imagem de tabuleiro cadastrada! O jogo não irá prosseguir!");
                    return;
                }
            }

            foreach (var piece in lista)
            {
                this.AddPieceToPlayer(piece);
            }
        }