예제 #1
0
        public ActionResult Index(ModelViewAvaliacao a)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    a.IDProjeto       = Convert.ToInt32(Session["projeto"]);
                    a.Pessoa.IDPessoa = Convert.ToInt32(Session["id"]);



                    c = new Conexao();
                    c.con.Open();
                    c.query             = c.con.CreateCommand();
                    c.query.CommandText = "INSERT INTO Avaliacao (IDPessoa,IDProjeto,Nota,Comentario) VALUES (@idpessoa,@idprojeto,@nota,@comentario)";
                    c.query.Parameters.AddWithValue("@idpessoa", a.Pessoa.IDPessoa);
                    c.query.Parameters.AddWithValue("@idprojeto", a.IDProjeto);
                    c.query.Parameters.AddWithValue("@nota", a.Nota);
                    c.query.Parameters.AddWithValue("@comentario", a.Comentario);
                    c.query.ExecuteNonQuery();
                    c.con.Close();



                    Session["Projeto"] = null;

                    return(RedirectToAction("Details", "Projeto", new { id = a.IDProjeto }));
                }
                catch (Exception e)
                {
                    return(View());
                }
            }



            return(View());
        }
        public ActionResult Details(int id)
        {
            try
            {
                ModelViewProjeto project = new ModelViewProjeto();
                c = new Conexao();

                //Recupera o projeto
                c.con.Open();
                c.query = new MySqlCommand(String.Format("SELECT * FROM Projeto where IDProjeto = {0}", id), c.con);
                c.rd    = c.query.ExecuteReader();
                while (c.rd.Read())
                {
                    project.IDProjeto       = Convert.ToInt32(c.rd["IDProjeto"].ToString());
                    project.Pessoa.IDPessoa = Convert.ToInt32(c.rd["IDPessoa"].ToString());
                    project.Nome            = c.rd["Nome"].ToString();
                    project.Descricao       = c.rd["Descricao"].ToString();
                    project.Imagem          = c.rd["Imagem"].ToString();
                }
                c.con.Close();


                //recupera a pessoa criadora do projeto
                c.con.Open();
                c.query = new MySqlCommand(String.Format("SELECT * FROM Pessoa where IDPessoa = {0}", project.Pessoa.IDPessoa), c.con);
                c.rd    = c.query.ExecuteReader();
                while (c.rd.Read())
                {
                    project.Pessoa.Nome     = c.rd["Nome"].ToString();
                    project.Pessoa.Telefone = c.rd["Telefone"].ToString();
                    project.Pessoa.Imagem   = c.rd["Imagem"].ToString();
                }
                c.con.Close();



                //recupera a pessoa e sua avaliação ligada ao projeto
                c.con.Open();
                c.query = new MySqlCommand(String.Format("select * from Avaliacao inner join Pessoa on Avaliacao.IDPessoa = Pessoa.IDPessoa where IDProjeto = {0}", id, project.IDProjeto), c.con);


                c.rd = c.query.ExecuteReader();
                while (c.rd.Read())
                {
                    //Recupera a lista de avaliações do projeto escolhido
                    ModelViewAvaliacao avaliacao = new ModelViewAvaliacao();

                    avaliacao.IDAvaliacao     = Convert.ToInt32(c.rd["IDAvaliacao"].ToString());
                    avaliacao.IDProjeto       = Convert.ToInt32(c.rd["IDProjeto"].ToString());
                    avaliacao.Pessoa.IDPessoa = Convert.ToInt32(c.rd["IDPessoa"].ToString());
                    avaliacao.Pessoa.Nome     = c.rd["Nome"].ToString();
                    avaliacao.Pessoa.Imagem   = c.rd["Imagem"].ToString();
                    avaliacao.Nota            = Convert.ToInt32(c.rd["Nota"].ToString());
                    avaliacao.Comentario      = c.rd["Comentario"].ToString();

                    project.Avaliacoes.Add(avaliacao);
                }
                c.con.Close();



                return(View(project));
            }

            catch
            {
                return(View());
            }
        }