public SortedDictionary <int, Estabelecimento> getEstabelecimentos(string refe) { SortedDictionary <int, Estabelecimento> estabelecimentos = new SortedDictionary <int, Estabelecimento>(); SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(); builder.DataSource = "your.azure.server"; builder.UserID = "id"; builder.Password = "******"; builder.InitialCatalog = "xxx"; using (SqlConnection conn = new SqlConnection(builder.ConnectionString)) { conn.Open(); try { SqlParameter designacao = new SqlParameter("@designacao", System.Data.SqlDbType.NVarChar, 40); designacao.Value = refe; SqlDataReader reader = null; SqlCommand est = new SqlCommand("select id_refeiçao, designaçao, tipo_de_cozinha, descriçao, foto_path from li4.dbo.Refeiçao where designaçao=@designacao", conn); est.Parameters.Add(designacao); reader = est.ExecuteReader(); while (reader.Read()) { int idRefeiçao = Int32.Parse(reader["id_refeiçao"].ToString()); string descriçao = reader["descriçao"].ToString().TrimEnd(); string tipo_de_cozinha = reader["tipo_de_cozinha"].ToString().TrimEnd(); string foto_path = reader["foto_path"].ToString().TrimEnd(); HashSet <string> ings = new HashSet <string>(); using (SqlConnection con = new SqlConnection(builder.ConnectionString)) { con.Open(); SqlParameter idRefeicao = new SqlParameter("@idRefeicao", System.Data.SqlDbType.NVarChar, 40); idRefeicao.Value = idRefeiçao; SqlDataReader reader2 = null; SqlCommand ing = new SqlCommand("select designaçao from Ingrediente inner join IngredienteRefeiçao on IngredienteRefeiçao.id_ingrediente = Ingrediente.id_ingrediente " + " where IngredienteRefeiçao.id_refeiçao=@idRefeicao", con); ing.Parameters.Add(idRefeicao); reader2 = ing.ExecuteReader(); while (reader2.Read()) { ings.Add(reader2["designaçao"].ToString().TrimEnd()); } } Refeicao refeicao = new Refeicao(descriçao, refe, tipo_de_cozinha, foto_path, ings); using (SqlConnection con = new SqlConnection(builder.ConnectionString)) { con.Open(); SqlParameter idRefeicao = new SqlParameter("@idRefeicao", System.Data.SqlDbType.NVarChar, 40); idRefeicao.Value = idRefeiçao; SqlDataReader reader3 = null; SqlCommand ests = new SqlCommand("select Estabelecimento.id_estabelecimento, designaçao, NIF, telefone, rede_social, url_site, classificaçao, morada, codigo_postal from li4.dbo.Estabelecimento inner join li4.dbo.EstabelecimentoRefeiçao on Estabelecimento.id_estabelecimento = EstabelecimentoRefeiçao.id_estabelecimento where EstabelecimentoRefeiçao.id_refeiçao=@idRefeicao", con); ests.Parameters.Add(idRefeicao); reader3 = ests.ExecuteReader(); while (reader3.Read()) { int idEstabelecimento = Int32.Parse(reader3["id_estabelecimento"].ToString()); string designaçao = reader3["designaçao"].ToString().TrimEnd(); int NIF = Int32.Parse(reader3["NIF"].ToString()); int telefone = Int32.Parse(reader3["telefone"].ToString()); string rede_social = reader3["rede_social"].ToString().TrimEnd(); string url_site = reader3["url_site"].ToString().TrimEnd(); float classificaçao = float.Parse(reader3["classificaçao"].ToString()); string codigo_postal = reader3["codigo_postal"].ToString().TrimEnd(); string morada = reader3["morada"].ToString().TrimEnd(); if (!estabelecimentos.ContainsKey(idEstabelecimento)) { HashSet <Refeicao> r = new HashSet <Refeicao>(); r.Add(refeicao); Estabelecimento estabelecimento = new Estabelecimento(url_site, codigo_postal, designaçao, rede_social, telefone, NIF, classificaçao, r, morada); estabelecimentos.Add(idEstabelecimento, estabelecimento); } else { estabelecimentos[idEstabelecimento].addRefeicao(refeicao); } } } } } catch (Exception e) { Console.WriteLine(e.ToString()); } } return(estabelecimentos); }
public void addRefeicao(Refeicao re) { refeicoes.Add(re); }