Exemplo n.º 1
0
        // -----------------------------------------------------------------------------------------------

        /*
         * Funções gerais que recebem um comando SQL e retornam uma Lista ou um elemento de Avaliações
         * Estas funções são usadas noutras queries mais expecíficas
         */


        /*
         * Função geral que recebe um comando SQL e, a partir deste, retorna
         * uma lista de Avaliações pretendidas
         */
        public static List <Avaliaçao> GenericListaAvR(MySqlCommand command)
        {
            List <Avaliaçao> listAv = new List <Avaliaçao>();

            try
            {
                // Abre a conexão à Base de Dados
                connection.Open();

                Perimetros          p;
                Composiçao_Corporal cc;

                MySqlDataReader reader = command.ExecuteReader();

                Avaliaçao ava;

                // Inicia a leitura do resultado do comando SQL
                while (reader.Read())
                {
                    // Acede à posição(coluna) 0 do resultado SQL
                    int id = reader.GetInt32(0);

                    /*
                     * Caso o atributo "altura" (está na posição 1 do resultado do SQL) da Base de Dados seja null
                     * é porque a Avaliação não foi realizada.
                     */
                    if (!reader.IsDBNull(1))
                    {
                        cc = new Composiçao_Corporal(reader.GetInt32(1), reader.GetFloat(2), reader.GetFloat(3),
                                                     reader.GetFloat(4), reader.GetFloat(5), reader.GetInt32(6));

                        p = new Perimetros(reader.GetFloat(7), reader.GetFloat(8), reader.GetFloat(9), reader.GetFloat(10),
                                           reader.GetFloat(11), reader.GetFloat(12), reader.GetFloat(13), reader.GetFloat(14), reader.GetFloat(15),
                                           reader.GetFloat(16), reader.GetFloat(17), reader.GetFloat(18));

                        ava = new Avaliaçao(id, reader.GetDateTime(19), reader.GetString(20), reader.GetString(21), cc, p);

                        listAv.Add(ava);
                    }
                }

                reader.Close();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }
            finally
            {
                // Fecha a conexão à Base de Dados
                connection.Close();
            }

            return(listAv);
        }
Exemplo n.º 2
0
        // Cria uma Avaliação <Agendada> (tem os valores de composição corporal e perimetros a 0)
        public Avaliaçao(int id, DateTime data, string instrutor_email, string cliente_email)
        {
            this.id              = id;
            this.data            = data;
            this.instrutor_email = instrutor_email;
            this.cliente_email   = cliente_email;

            this.realizada = false;

            this.composiçao_Corporal = new Composiçao_Corporal();
            this.perimetros          = new Perimetros();
        }
Exemplo n.º 3
0
        // Cria uma Avaliação <Realizada>
        public Avaliaçao(int id, DateTime data, string instrutor_email, string cliente_email,
                         Composiçao_Corporal cc, Perimetros p)
        {
            this.id              = id;
            this.data            = data;
            this.instrutor_email = instrutor_email;
            this.cliente_email   = cliente_email;

            this.realizada = true;

            this.composiçao_Corporal = cc;
            this.perimetros          = p;
        }
Exemplo n.º 4
0
 // Faz update de uma Avaliação agendada para uma Realizada
 public void FoiRealizada(Composiçao_Corporal cc, Perimetros p)
 {
     this.realizada           = true;
     this.composiçao_Corporal = cc;
     this.perimetros          = p;
 }
Exemplo n.º 5
0
        // Vai buscar todas as Avaliações (realizadas ou não)
        public static List <Avaliaçao> GetTodasAvaliaçoes()
        {
            List <Avaliaçao> r = new List <Avaliaçao>();

            try
            {
                // Abre a conexão à Base de Dados
                connection.Open();

                Perimetros          p;
                Composiçao_Corporal cc;

                // Comando SQL para aceder aos atributos permitindo a criação da classe Avaliaçao
                string sqlCommand = "select * from Avaliaçao_Realizada ar, Avaliaçao_Agendada aa " +
                                    "where ar.idAvaliaçao = aa.idAvaliaçao";

                MySqlCommand command = new MySqlCommand(sqlCommand, connection);

                MySqlDataReader reader = command.ExecuteReader();

                while (reader.Read())
                {
                    int id = reader.GetInt32(0);

                    if (!reader.IsDBNull(1))
                    {
                        cc = new Composiçao_Corporal(reader.GetInt32(1), reader.GetFloat(2), reader.GetFloat(3),
                                                     reader.GetFloat(4), reader.GetFloat(5), reader.GetInt32(6));

                        p = new Perimetros(reader.GetFloat(7), reader.GetFloat(8), reader.GetFloat(9), reader.GetFloat(10),
                                           reader.GetFloat(11), reader.GetFloat(12), reader.GetFloat(13), reader.GetFloat(14), reader.GetFloat(15),
                                           reader.GetFloat(16), reader.GetFloat(17), reader.GetFloat(18));
                    }
                    else
                    {
                        /*
                         * Como queremos todas avaliações, adicionamos os valores que estão a null na BD
                         * a 0 na classe Avaliaçao (ou seja, quando a avaliação ainda não foi realizada)
                         */
                        cc = new Composiçao_Corporal();
                        p  = new Perimetros();
                    }

                    Avaliaçao ava = new Avaliaçao(id, reader.GetDateTime(19), reader.GetString(20), reader.GetString(21), cc, p);

                    r.Add(ava);
                }

                reader.Close();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }
            finally
            {
                // Fecha a conexão à Base de Dados
                connection.Close();
            }

            return(r);
        }