示例#1
0
        public void InserirPergunta(Avaliacao A)
        {
            AvaliacaoDAL dal = new AvaliacaoDAL();

            dal.Inserir(A);
        }
示例#2
0
        void CarregarPergunta()
        {
            Panel_View.Controls.Clear();
            Point      point = new Point(25, 18);
            UsuarioDAL dalus = new UsuarioDAL();
            Usuario    RealizadorPergunta = new Usuario();

            RealizadorPergunta = dalus.Consultar(Atual.Usuario);
            PictureBox FotoUsuario = new PictureBox
            {
                Size     = new Size(92, 64),
                Location = point,
                SizeMode = PictureBoxSizeMode.Zoom
            };

            if (RealizadorPergunta.Foto != null)
            {
                MemoryStream ms = new MemoryStream(RealizadorPergunta.Foto);
                FotoUsuario.Image = Image.FromStream(ms);
            }
            else
            {
                FotoUsuario.Image = Properties.Resources.user__1_;
            }
            Panel_View.Controls.Add(FotoUsuario);
            Label NomeUsuario = new Label
            {
                Text     = RealizadorPergunta.Nome,
                Font     = new Font("Arial", 10),
                AutoSize = true,
                Location = new Point(point.X + FotoUsuario.Size.Width, point.Y)
            };

            Panel_View.Controls.Add(NomeUsuario);
            point.Y += FotoUsuario.Size.Height;
            Label Titulo = new Label
            {
                Text     = Atual.Titulo,
                Font     = new Font("Arial", 20, FontStyle.Bold),
                AutoSize = true,
                Location = point
            };

            Panel_View.Controls.Add(Titulo);
            point.Y += Titulo.Height;
            Label TextoPerg = new Label
            {
                Text     = Atual.Texto,
                Font     = new Font("Arial", 14),
                AutoSize = true,
                Location = point
            };

            Panel_View.Controls.Add(TextoPerg);
            point.Y += Titulo.Height;
            foreach (var item in Atual.Imagem)
            {
                PictureBox Img = new PictureBox
                {
                    Size     = new Size(400, 200),
                    SizeMode = PictureBoxSizeMode.Zoom,
                    Location = point
                };
                MemoryStream ms = new MemoryStream(item._Imagem);
                Img.Image = Image.FromStream(ms);
                Panel_View.Controls.Add(Img);
                point.Y += Img.Size.Height;
            }
            PictureBox Like = new PictureBox
            {
                Size     = new Size(80, 40),
                SizeMode = PictureBoxSizeMode.Zoom,
                Location = point,
                Name     = "L" + Atual.ID.ToString()
            };
            AvaliacaoDAL dalAval = new AvaliacaoDAL();
            Avaliacao    esta    = dalAval.Consultar(UsuarioAtual.ID, Atual.ID, 0);

            if (esta.ID != 0 && esta._Avaliacao)
            {
                Like.Image = Properties.Resources.like_ativo;
            }
            else
            {
                Like.Image = Properties.Resources.like;
            }
            Like.Click += (object sender, EventArgs e) =>
            {
                PictureBox   este      = sender as PictureBox;
                Avaliacao    avaliacao = new Avaliacao();
                AvaliacaoDAL dal       = new AvaliacaoDAL();
                avaliacao = dal.Consultar(UsuarioAtual.ID, Convert.ToInt32(este.Name.Substring(1, este.Name.Length - 1)), 0);
                if (avaliacao.ID == 0)
                {
                    avaliacao = new Avaliacao
                    {
                        Denuncia = false,
                        Pergunta = Atual,
                        Resposta = null,
                        Usuario  = new Usuario {
                            ID = UsuarioAtual.ID
                        },
                        _Avaliacao = true
                    };
                    dal.Inserir(avaliacao);
                }
                else
                {
                    avaliacao._Avaliacao = true;
                    dal.Alterar(avaliacao);
                }
                este.Image = Properties.Resources.like_ativo;
                foreach (var item in pictureBoxesPergunta.Where(x => x.Name == "D" + este.Name.Replace("L", "")))
                {
                    item.Image = Properties.Resources.dislike;
                }
            };
            Panel_View.Controls.Add(Like);
            PictureBox Dislike = new PictureBox
            {
                Size     = new Size(80, 40),
                SizeMode = PictureBoxSizeMode.Zoom,
                Location = new Point(point.X + Like.Size.Width, point.Y),
                Name     = "D" + Atual.ID.ToString()
            };

            if (esta.ID != 0 && esta._Avaliacao == false)
            {
                Dislike.Image = Properties.Resources.dislike_ativo;
            }
            else
            {
                Dislike.Image = Properties.Resources.dislike;
            }
            Dislike.Click += (object sender, EventArgs e) =>
            {
                PictureBox   este      = sender as PictureBox;
                Avaliacao    avaliacao = new Avaliacao();
                AvaliacaoDAL dal       = new AvaliacaoDAL();
                avaliacao = dal.Consultar(UsuarioAtual.ID, Convert.ToInt32(este.Name.Substring(1, este.Name.Length - 1)), 0);
                if (avaliacao.ID == 0)
                {
                    avaliacao = new Avaliacao
                    {
                        Denuncia = false,
                        Pergunta = Atual,
                        Resposta = null,
                        Usuario  = new Usuario {
                            ID = UsuarioAtual.ID
                        },
                        _Avaliacao = false
                    };
                    dal.Inserir(avaliacao);
                }
                else
                {
                    avaliacao._Avaliacao = false;
                    dal.Alterar(avaliacao);
                }
                este.Image = Properties.Resources.dislike_ativo;
                foreach (var item in pictureBoxesPergunta.Where(x => x.Name == "L" + este.Name.Replace("D", "")))
                {
                    item.Image = Properties.Resources.like;
                }
            };
            Panel_View.Controls.Add(Dislike);
            pictureBoxesPergunta.Add(Like);
            pictureBoxesPergunta.Add(Dislike);
            Label Denucia = new Label
            {
                Text      = "Denunciar",
                Font      = new Font("Arial", 10),
                AutoSize  = true,
                Location  = new Point(point.X + Like.Size.Width + Dislike.Size.Width, point.Y),
                ForeColor = ColorTranslator.FromHtml("#000449"),
                Name      = Atual.ID.ToString()
            };

            Denucia.Click += (object sender, EventArgs e) =>
            {
                Label este = sender as Label;
                if (MessageBox.Show("Deseja realmente denunciar essa pergunta ? Essa ação não poderá ser desfeita", "Enigma", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
                {
                    Avaliacao    avaliacao = new Avaliacao();
                    AvaliacaoDAL dal       = new AvaliacaoDAL();
                    avaliacao = dal.Consultar(UsuarioAtual.ID, Convert.ToInt32(este.Name), 0);
                    if (avaliacao.ID == 0)
                    {
                        avaliacao = new Avaliacao
                        {
                            Denuncia = true,
                            Pergunta = Atual,
                            Resposta = null,
                            Usuario  = new Usuario {
                                ID = UsuarioAtual.ID
                            },
                            _Avaliacao = false
                        };
                        dal.Inserir(avaliacao);
                    }
                    else
                    {
                        avaliacao.Denuncia = true;
                        dal.Alterar(avaliacao);
                    }
                    Panel_View.Controls.Clear();
                    Buscar();
                    CarregarGrid();
                }
            };
            Panel_View.Controls.Add(Denucia);
            point.Y += Like.Size.Height;
            point.Y += 5;
            Label respostas = new Label
            {
                Text     = "Respostas",
                Font     = new Font("Arial", 24, FontStyle.Bold),
                AutoSize = true,
                Location = point
            };

            Panel_View.Controls.Add(respostas);
            Button responder = new Button
            {
                Text      = "Responder",
                Font      = new Font("Arial", 24),
                ForeColor = Color.White,
                BackColor = ColorTranslator.FromHtml("#000449"),
                Size      = new Size(80, 40),
                AutoSize  = true,
                Location  = new Point(point.X + respostas.Size.Width, point.Y)
            };

            responder.MouseEnter += (object sender, EventArgs e) =>
            {
                Program.PanelMaterias.Visible = false;
                Program.PanelUsuario.Visible  = false;
                Button este = sender as Button;
                Color  cor  = ColorTranslator.FromHtml("#00058d");
                este.BackColor = cor;
            };
            responder.MouseLeave += (object sender, EventArgs e) =>
            {
                Color  cor  = ColorTranslator.FromHtml("#000449");
                Button este = sender as Button;
                este.BackColor = cor;
            };
            responder.Click += (object sender, EventArgs e) =>
            {
                Form form = new Form_Add_Pergunta_Resposta(Atual);
                form.ShowDialog();
                PerguntaDAL dal = new PerguntaDAL();
                Atual = dal.Consultar(Atual.ID);
                CarregarPergunta();
            };
            Panel_View.Controls.Add(responder);
            point.Y += respostas.Size.Height + 20;
            CarregarRespostas(point);
        }
示例#3
0
        public void InserirResposta(Avaliacao A)
        {
            AvaliacaoDAL dal = new AvaliacaoDAL();

            dal.Inserir(A);
        }
示例#4
0
        void CarregarRespostas(Point Ponto)
        {
            Point point = Ponto;

            foreach (var item in Atual.Resposta.Where(x => x.Visibilidade))
            {
                AvaliacaoDAL dalAval  = new AvaliacaoDAL();
                Avaliacao    Denuncia = dalAval.Consultar(UsuarioAtual.ID, 0, item.ID);
                if (Denuncia.ID == 0 || Denuncia.Denuncia == false)
                {
                    // Montando Perfil do Usuario que realizou a resposta
                    UsuarioDAL dalus       = new UsuarioDAL();
                    PictureBox FotoUsuario = new PictureBox
                    {
                        Size     = new Size(92, 64),
                        Location = point,
                        SizeMode = PictureBoxSizeMode.Zoom
                    };
                    Usuario usuarioResposta = dalus.Consultar(item.Usuario);
                    if (usuarioResposta.Foto != null)
                    {
                        MemoryStream ms = new MemoryStream(usuarioResposta.Foto);
                        FotoUsuario.Image = Image.FromStream(ms);
                    }
                    else
                    {
                        FotoUsuario.Image = Properties.Resources.user__1_;
                    }
                    Panel_View.Controls.Add(FotoUsuario);
                    Label NomeUsuario = new Label
                    {
                        Text     = usuarioResposta.Nome,
                        Font     = new Font("Arial", 10),
                        AutoSize = true,
                        Location = new Point(point.X + FotoUsuario.Size.Width, point.Y)
                    };
                    Panel_View.Controls.Add(NomeUsuario);
                    point.Y += FotoUsuario.Size.Height;
                    Label Titulo = new Label
                    {
                        Text     = item.Titulo,
                        Font     = new Font("Arial", 20, FontStyle.Bold),
                        AutoSize = true,
                        Location = point
                    };
                    Panel_View.Controls.Add(Titulo);
                    point.Y += Titulo.Height;
                    Label TextoPerg = new Label
                    {
                        Text     = item.Texto,
                        Font     = new Font("Arial", 14),
                        AutoSize = true,
                        Location = point
                    };
                    Panel_View.Controls.Add(TextoPerg);
                    point.Y += TextoPerg.Height;
                    foreach (var i in item.Imagem)
                    {
                        PictureBox Img = new PictureBox
                        {
                            Size     = new Size(400, 200),
                            SizeMode = PictureBoxSizeMode.Zoom,
                            Location = point
                        };
                        MemoryStream ms = new MemoryStream(i._Imagem);
                        Img.Image = Image.FromStream(ms);
                        Panel_View.Controls.Add(Img);
                        point.Y += Img.Size.Height;
                    }
                    PictureBox Like = new PictureBox
                    {
                        Size     = new Size(80, 40),
                        SizeMode = PictureBoxSizeMode.Zoom,
                        Location = point,
                        Name     = "L" + item.ID.ToString()
                    };
                    Avaliacao esta = dalAval.Consultar(UsuarioAtual.ID, 0, item.ID);
                    if (esta.ID != 0 && esta._Avaliacao)
                    {
                        Like.Image = Properties.Resources.like_ativo;
                    }
                    else
                    {
                        Like.Image = Properties.Resources.like;
                    }
                    Like.Click += (object sender, EventArgs e) =>
                    {
                        PictureBox   este      = sender as PictureBox;
                        Avaliacao    avaliacao = new Avaliacao();
                        AvaliacaoDAL dal       = new AvaliacaoDAL();
                        avaliacao = dal.Consultar(UsuarioAtual.ID, 0, Convert.ToInt32(este.Name.Substring(1, este.Name.Length - 1)));
                        if (avaliacao.ID == 0)
                        {
                            avaliacao = new Avaliacao
                            {
                                Denuncia = false,
                                Pergunta = null,
                                Resposta = item,
                                Usuario  = new Usuario {
                                    ID = UsuarioAtual.ID
                                },
                                _Avaliacao = true
                            };
                            dal.Inserir(avaliacao);
                        }
                        else
                        {
                            avaliacao._Avaliacao = true;
                            dal.Alterar(avaliacao);
                        }
                        este.Image = Properties.Resources.like_ativo;
                        foreach (var i in pictureBoxes.Where(x => x.Name == "D" + este.Name.Replace("L", "")))
                        {
                            i.Image = Properties.Resources.dislike;
                        }
                    };
                    Panel_View.Controls.Add(Like);
                    PictureBox Dislike = new PictureBox
                    {
                        Size     = new Size(80, 40),
                        SizeMode = PictureBoxSizeMode.Zoom,
                        Location = new Point(point.X + Like.Size.Width, point.Y),
                        Name     = "D" + item.ID.ToString()
                    };
                    if (esta.ID != 0 && esta._Avaliacao == false)
                    {
                        Dislike.Image = Properties.Resources.dislike_ativo;
                    }
                    else
                    {
                        Dislike.Image = Properties.Resources.dislike;
                    }
                    Dislike.Click += (object sender, EventArgs e) =>
                    {
                        PictureBox   este      = sender as PictureBox;
                        Avaliacao    avaliacao = new Avaliacao();
                        AvaliacaoDAL dal       = new AvaliacaoDAL();
                        avaliacao = dal.Consultar(UsuarioAtual.ID, 0, Convert.ToInt32(este.Name.Substring(1, este.Name.Length - 1)));
                        if (avaliacao.ID == 0)
                        {
                            avaliacao = new Avaliacao
                            {
                                Denuncia = false,
                                Pergunta = null,
                                Resposta = item,
                                Usuario  = new Usuario {
                                    ID = UsuarioAtual.ID
                                },
                                _Avaliacao = false
                            };
                            dal.Inserir(avaliacao);
                        }
                        else
                        {
                            avaliacao._Avaliacao = false;
                            dal.Alterar(avaliacao);
                        }
                        este.Image = Properties.Resources.dislike_ativo;
                        foreach (var i in pictureBoxes.Where(x => x.Name == "L" + este.Name.Replace("D", "")))
                        {
                            i.Image = Properties.Resources.like;
                        }
                    };
                    Panel_View.Controls.Add(Dislike);
                    pictureBoxes.Add(Like);
                    pictureBoxes.Add(Dislike);
                    Label Denucia = new Label
                    {
                        Text      = "Denunciar",
                        Font      = new Font("Arial", 10),
                        AutoSize  = true,
                        Location  = new Point(point.X + Like.Size.Width + Dislike.Size.Width, point.Y),
                        ForeColor = ColorTranslator.FromHtml("#000449"),
                        Name      = Atual.ID.ToString()
                    };
                    Denucia.Click += (object sender, EventArgs e) =>
                    {
                        Label este = sender as Label;
                        if (MessageBox.Show("Deseja realmente denunciar essa resposta ? Essa ação não poderá ser desfeita", "Enigma", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
                        {
                            Avaliacao    avaliacao = new Avaliacao();
                            AvaliacaoDAL dal       = new AvaliacaoDAL();
                            avaliacao = dal.Consultar(UsuarioAtual.ID, 0, Convert.ToInt32(este.Name));
                            if (avaliacao.ID == 0)
                            {
                                avaliacao = new Avaliacao
                                {
                                    Denuncia = true,
                                    Pergunta = null,
                                    Resposta = item,
                                    Usuario  = new Usuario {
                                        ID = UsuarioAtual.ID
                                    },
                                    _Avaliacao = false
                                };
                                dal.Inserir(avaliacao);
                            }
                            else
                            {
                                avaliacao.Denuncia = true;
                                dal.Alterar(avaliacao);
                            }
                            CarregarPergunta();
                        }
                    };
                    Panel_View.Controls.Add(Denucia);
                    point.Y += Like.Size.Height;
                    Label fim = new Label
                    {
                        Text     = "--------------------------------------------------------",
                        Font     = new Font("Arial", 14),
                        AutoSize = true,
                        Location = point
                    };
                    Panel_View.Controls.Add(fim);
                    point.Y += fim.Size.Height;
                }
            }
        }