protected void radioButtonListAvaliacao_SelectedIndexChanged(object sender, EventArgs e)
 {
     Avaliacao avaliacao = new Avaliacao();
     avaliacao.IdProposta = proposta.IdProposta;
     if (meuPapel == Usuario.EnumQuem.PEDINTE)
     {
         avaliacao.QuemEhAvaliado = Usuario.EnumQuem.PROPONENTE;
     }
     else
     {
         avaliacao.QuemEhAvaliado = Usuario.EnumQuem.PEDINTE;
     }
     avaliacao.NumeroExtrelas = System.Convert.ToInt16(((RadioButtonList)sender).SelectedValue);
     Avaliacao.ResultadoAvaliacao resultado = DataAccess.avaliarProposta(avaliacao);
 }
示例#2
0
        }//populateProposta()

        private static Avaliacao populateAvaliacao(SqlDataReader dr)
        {
            Avaliacao avaliacaoReturn = new Avaliacao();
            avaliacaoReturn.IdProposta = System.Convert.ToInt64(dr["id_proposta"]);
            avaliacaoReturn.NumeroExtrelas = System.Convert.ToInt16(dr["num_estrelas"]);
            short sTemp = System.Convert.ToInt16(dr["quem_eh_avaliado"]);
            if (sTemp == (short)Usuario.EnumQuem.PEDINTE)
            {
                avaliacaoReturn.QuemEhAvaliado = Usuario.EnumQuem.PEDINTE;
            }
            else
            {
                avaliacaoReturn.QuemEhAvaliado = Usuario.EnumQuem.PROPONENTE;
            }
            avaliacaoReturn.TextoAvaliacao = System.Convert.ToString(dr["texto_avaliacao"]);

            return avaliacaoReturn;
        }//populateAvaliacao()
示例#3
0
        }//queryProposta()

        public static ArrayList queryAvaliacao(Avaliacao avaliacaoQuery)
        {
            ArrayList alReturn = null;
            SqlDataReader dr = null;
            SqlConnection conn = null;
            SqlCommand cmd = null;
            bool bWhere = false;

            String strSql = "SELECT * from Avaliacao";

            if (avaliacaoQuery.IdProposta > 0)
            {
                if (bWhere)
                {
                    strSql += " AND ";
                }
                else
                {
                    strSql += " WHERE ";
                    bWhere = true;
                }
                strSql += "id_proposta = " + avaliacaoQuery.IdProposta.ToString();
            }

            if (avaliacaoQuery.QuemEhAvaliado != Usuario.EnumQuem.INDEFINIDO)
            {
                if (bWhere)
                {
                    strSql += " AND ";
                }
                else
                {
                    strSql += " WHERE ";
                    bWhere = true;
                }
                strSql += "quem_eh_avaliado = " + ((int)avaliacaoQuery.QuemEhAvaliado).ToString();
            }

            //o mínimo de estrelas que se pode dar é 1 estrela:
            if (avaliacaoQuery.NumeroExtrelas > 0)
            {
                if (bWhere)
                {
                    strSql += " AND ";
                }
                else
                {
                    strSql += " WHERE ";
                    bWhere = true;
                }
                strSql += "num_estrelas = " + avaliacaoQuery.NumeroExtrelas.ToString();
            }

            try
            {
                conn = new SqlConnection(ConnString);
                conn.Open();
                cmd = conn.CreateCommand();
                cmd.CommandType = System.Data.CommandType.Text;
                cmd.CommandText = strSql;
                dr = cmd.ExecuteReader();
                alReturn = new ArrayList();
                while (dr.Read())
                {
                    alReturn.Add(populateAvaliacao(dr));
                }//while
                return alReturn;
            }
            catch
            {
                return new ArrayList();
            }
            finally
            {
                if (dr != null)
                {
                    dr.Close();
                }
                if (conn != null)
                {
                    conn.Close();
                }
            }
        }//queryAvaliacao()
示例#4
0
        }//salvarProposta()

        public static Avaliacao.ResultadoAvaliacao avaliarProposta(Avaliacao avaliacao)
        {
            SqlConnection conn = null;
            SqlCommand cmd = null;
            SqlTransaction trans = null;
            SqlDataReader dr = null;
            String strSql;
            try
            {
                conn = new SqlConnection(ConnString);
                conn.Open();
                cmd = conn.CreateCommand();
                cmd.CommandType = System.Data.CommandType.Text;
                trans = conn.BeginTransaction();
                cmd.Transaction = trans;

                strSql = "SELECT P.is_deleted_proposta, D.id_proposta_aceita, D.is_deleted_desejo FROM";
                strSql += " Proposta P";
                strSql += " INNER JOIN Desejo D ON P.id_desejo = D.id_desejo";
                strSql += " where P.id_proposta = " + avaliacao.IdProposta.ToString();

                cmd.CommandText = strSql;
                
                dr = cmd.ExecuteReader();
                if (!dr.Read())
                {
                    //a proposta ou o desejo foram deletados fisicamente
                    dr.Close();
                    trans.Rollback();
                    return Avaliacao.ResultadoAvaliacao.PROPOSTA_OU_DESEJO_DELETADO;
                }

                long lngTemp = System.Convert.ToInt32(dr["is_deleted_proposta"]);
                if (lngTemp == 1)
                {
                    dr.Close();
                    trans.Rollback();
                    return Avaliacao.ResultadoAvaliacao.PROPOSTA_DELETADA;
                }

                lngTemp = System.Convert.ToInt32(dr["is_deleted_desejo"]);
                if (lngTemp == 1)
                {
                    dr.Close();
                    trans.Rollback();
                    return Avaliacao.ResultadoAvaliacao.DESEJO_DELETADO;
                }

                if (dr.IsDBNull(dr.GetOrdinal("id_proposta_aceita")))
                {
                    dr.Close();
                    trans.Rollback();
                    return Avaliacao.ResultadoAvaliacao.PROPOSTA_NAO_SELECIONADA;
                }

                lngTemp = System.Convert.ToInt32(dr["id_proposta_aceita"]);
                if (lngTemp != avaliacao.IdProposta)
                {
                    dr.Close();
                    trans.Rollback();
                    return Avaliacao.ResultadoAvaliacao.PROPOSTA_NAO_SELECIONADA;
                }

                dr.Close();
                strSql = "SELECT * from Avaliacao where id_proposta = " + avaliacao.IdProposta.ToString();
                strSql += " AND quem_eh_avaliado = " + ((int)(avaliacao.QuemEhAvaliado)).ToString();
                cmd.CommandText = strSql;

                dr = cmd.ExecuteReader();
                if (dr.Read())
                {
                    //ja existe a avaliacao
                    dr.Close();
                    trans.Rollback();
                    return Avaliacao.ResultadoAvaliacao.AVALIACAO_JA_FEITA;
                }
                dr.Close();
                strSql = "INSERT into Avaliacao (id_proposta, quem_eh_avaliado, num_estrelas, texto_avaliacao) VALUES (";
                strSql += avaliacao.IdProposta.ToString() + ",";
                strSql += ((int)avaliacao.QuemEhAvaliado).ToString() + ",";
                strSql += avaliacao.NumeroExtrelas.ToString() + ",'";
                strSql += Utils.limpaString(avaliacao.TextoAvaliacao) + "')";
                cmd.CommandText = strSql;
                cmd.ExecuteNonQuery();

                trans.Commit();
                return Avaliacao.ResultadoAvaliacao.SUCESSO;
            }
            catch
            {
                dr.Close();
                trans.Rollback();
                return Avaliacao.ResultadoAvaliacao.ERRO_INDEFINIDO;
            }
            finally
            {
                if (dr != null) dr.Close();
                if (conn != null) conn.Close();
            }
        }//avaliarProposta()