Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 public void addRefeicao(Refeicao re)
 {
     refeicoes.Add(re);
 }