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 List <Avaliaçao> GenericListaAvR(MySqlCommand command)
        {
            List <Avaliaçao> listAv = new List <Avaliaçao>();

            try
            {
                // Abre a conexão à Base de Dados
                if (connection.State == ConnectionState.Closed)
                {
                    if (connection.State == ConnectionState.Closed)
                    {
                        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())
                {
                    /*
                     * 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(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
        public ActionResult <string> criarAvaliacao([FromBody] dynamic rec)
        {
            lock (_system)
            {
                JObject jObject = JObject.Parse(rec.ToString());


                DateTime data            = Convert.ToDateTime(jObject["data"].ToString());
                string   email_cliente   = (string)jObject["email_cliente"];
                string   email_instrutor = (string)jObject["email_instrutor"];
                if (!_system.isUserOnline(jObject.GetValue("valueST").ToString()))
                {
                    return(Unauthorized("Client Offline"));
                }

                ActionResult <string> ret = BadRequest("Impossível inserir avaliação");

                try
                {
                    if (email_cliente.Equals(""))
                    {
                        throw new Exception("EMAIL INVÁLIDO");
                    }

                    Composiçao_Corporal cc = new Composiçao_Corporal(
                        int.Parse(jObject["plano_treino"]["composicao_corporal"]["altura"].ToString()),
                        float.Parse(jObject["plano_treino"]["composicao_corporal"]["peso"].ToString()),
                        float.Parse(jObject["plano_treino"]["composicao_corporal"]["massa_gorda"].ToString()),
                        float.Parse(jObject["plano_treino"]["composicao_corporal"]["massa_magra"].ToString()),
                        float.Parse(jObject["plano_treino"]["composicao_corporal"]["imc"].ToString()),
                        int.Parse(jObject["plano_treino"]["composicao_corporal"]["idade_metabolica"].ToString()));

                    Perimetros p = new Perimetros(
                        float.Parse(jObject["plano_treino"]["perimetros"]["cintura"].ToString()),
                        float.Parse(jObject["plano_treino"]["perimetros"]["abdomen"].ToString()),
                        float.Parse(jObject["plano_treino"]["perimetros"]["ombro"].ToString()),
                        float.Parse(jObject["plano_treino"]["perimetros"]["torax"].ToString()),
                        float.Parse(jObject["plano_treino"]["perimetros"]["braco_dir"].ToString()),
                        float.Parse(jObject["plano_treino"]["perimetros"]["braco_esq"].ToString()),
                        float.Parse(jObject["plano_treino"]["perimetros"]["coxa_dir"].ToString()),
                        float.Parse(jObject["plano_treino"]["perimetros"]["coxa_esq"].ToString()),
                        float.Parse(jObject["plano_treino"]["perimetros"]["gemeo_dir"].ToString()),
                        float.Parse(jObject["plano_treino"]["perimetros"]["gemeo_esq"].ToString()),
                        float.Parse(jObject["plano_treino"]["perimetros"]["antebraco_dir"].ToString()),
                        float.Parse(jObject["plano_treino"]["perimetros"]["antebraco_esq"].ToString()));

                    Avaliaçao av = new Avaliaçao(
                        data,
                        email_instrutor,
                        email_cliente,
                        cc,
                        p);

                    if (_system.AddAvaliacao(av))
                    {
                        ret = Ok();
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.ToString());
                }

                return(ret);
            }
        }
Exemplo n.º 3
0
        // Vai buscar todas as Avaliações (realizadas ou não)
        // Vai buscar todas as Avaliações (realizadas ou não)
        public List <Avaliaçao> GetTodasAvaliaçoes()
        {
            List <Avaliaçao> r = new List <Avaliaçao>();

            try
            {
                // Abre a conexão à Base de Dados
                if (connection.State == ConnectionState.Closed)
                {
                    if (connection.State == ConnectionState.Closed)
                    {
                        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())
                {
                    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(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);
        }