// ----------------------------------------------------------------------------------------------- /* * 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); }
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); } }
public string readJsonPerimetros(string json) { Perimetros p = new Perimetros(); p = JsonConvert.DeserializeObject<Perimetros>(json); return p.CreatedBy; }
// 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); }