public static void EliminarParqueEAssociaçoes(Entities ctx) { Console.WriteLine("Insira o nome do Parque"); var nomeParque = Console.ReadLine(); var p = ctx.Parques.Find(nomeParque); var apagrParque = new RemoverParqueEAssociaçoes(ctx); apagrParque.Execute(p); ctx.SaveChanges(); }
public void ApagarParqueEAssociaçoesTest() { using (var ctx = new Entities()) { try { var estada = new Estada { data_início = new DateTime(2007, 3, 1), data_fim = new DateTime(2017, 3, 1), id = 25, nif_hóspede = 0 }; ctx.Estadas.Add(estada); /* * CREATE PARQUE */ Parque p = new Parque { nome = "brasil", email = "*****@*****.**", morada = "Rio de Janeiro, Rua Junqueiro 367", estrelas = 5 }; ctx.Parques.Add(p); /* * Alojamento */ Alojamento c = new Alojamento { preço_base = 50, nome = "OI", descrição = "sem descricao", localização = "Brasil", max_pessoas = 20, nome_parque = p.nome }; ctx.Alojamentoes.Add(c); EstadaAlojamento estadaAlojamento = new EstadaAlojamento() { id_estada = estada.id, nome_alojamento = c.nome, descrição = "OLA", preço_base = 1234 }; ctx.EstadaAlojamentoes.Add(estadaAlojamento); ctx.SaveChanges(); var apagrParque = new RemoverParqueEAssociaçoes(ctx); apagrParque.Execute(p); var parqueExists = ctx.Parques.Any(parque => parque.nome.Equals(p.nome)); Assert.AreEqual(false, parqueExists); var alojamentoExists = ctx.Alojamentoes.Any(a => a.nome.Equals(c.nome)); Assert.AreEqual(false, alojamentoExists); var estadaExists = ctx.Estadas.Any(e => e.id == estada.id); Assert.AreEqual(false, estadaExists); } catch (Exception exception) { Console.WriteLine(exception); foreach (var e in ctx.EstadaAlojamentoes) { ctx.EstadaAlojamentoes.Remove(e); } foreach (var e in ctx.Estadas) { ctx.Estadas.Remove(e); } foreach (var alojamento in ctx.Alojamentoes) { ctx.Alojamentoes.Remove(alojamento); } foreach (var parque in ctx.Parques) { ctx.Parques.Remove(parque); } throw; } } }