private static void CreateEstadaInTime() { Hóspede responsável = new Hóspede(); Hóspede hóspede = new Hóspede(); Estada estada = new Estada(); Extra extraPessoal = new Extra(); Extra extraAlojamento = new Extra(); Console.Write("NIF Hóspede Responsável: "); responsável.NIF = int.Parse(Console.ReadLine()); Console.Write("NIF Hóspede Acompanhante: "); hóspede.NIF = int.Parse(Console.ReadLine()); Console.Write("Data Inicial da Estada(YYYY-MM-DD HH:MM:SS): "); estada.dataInício = Convert.ToDateTime(Console.ReadLine()); Console.Write("Data Final da Estada(YYYY-MM-DD HH:MM:SS): "); estada.dataFim = Convert.ToDateTime(Console.ReadLine()); Console.Write("Tipo de Alojamento(tenda/bungalow): "); string tipoAloj = Console.ReadLine(); Console.Write("Lotação de pessoas: "); int lot = int.Parse(Console.ReadLine()); Console.Write("Identificador extra pessoal: "); extraPessoal.id = int.Parse(Console.ReadLine()); extraPessoal.associado = "pessoa"; Console.Write("Identificador extra alojamento: "); extraAlojamento.id = int.Parse(Console.ReadLine()); extraAlojamento.associado = "alojamento"; if (tipoAloj.Equals("tenda")) { using (Context context = new Context(connectionString)) { Tenda tenda = new Tenda(); tenda.númeroMáximoPessoas = lot; tenda.tipoAlojamento = "tenda"; ProcUtils procedimento = new ProcUtils(context); procedimento.createEstadaInTime(responsável, hóspede, estada, tenda, extraPessoal, extraAlojamento); } } else { using (Context context = new Context(connectionString)) { Bungalow bungalow = new Bungalow(); bungalow.númeroMáximoPessoas = lot; bungalow.tipoAlojamento = "bungalow"; ProcUtils procedimento = new ProcUtils(context); procedimento.createEstadaInTime(responsável, hóspede, estada, bungalow, extraPessoal, extraAlojamento); } } }
private static void FinishEstadaWithFactura() { Estada estada = new Estada(); Console.Write("ID Estada: "); estada.id = int.Parse(Console.ReadLine()); using (Context context = new Context(connectionString)) { ProcUtils procedimento = new ProcUtils(context); procedimento.finishEstadaWithFactura(estada); } }
private static void DeleteParque() { string nomeParque; List <int> hóspedes, estadas; ParqueCampismo parque = new ParqueCampismo(); Console.Write("Nome Parque: "); nomeParque = Console.ReadLine(); parque.nome = nomeParque; using (var context = new GlampinhoEF()) { hóspedes = context.Database.SqlQuery <int>( "SELECT DISTINCT NIF FROM HóspedeEstada \n" + "EXCEPT\n" + "SELECT DISTINCT NIF FROM HóspedeEstada INNER JOIN ( SELECT id FROM AlojamentoEstada WHERE nomeParque<>@p0 ) AS A ON A.id=HóspedeEstada.id", nomeParque).ToList(); } hóspedes.ForEach((hóspede) => { using (var context = new GlampinhoEF()) { context.deleteHospede(hóspede); } }); using (var context = new GlampinhoEF()) { estadas = context.Database.SqlQuery <int>( "SELECT A.id FROM Estada INNER JOIN(SELECT * FROM AlojamentoEstada WHERE nomeParque = @p0) AS A ON Estada.id = A.id", nomeParque).ToList(); context.Entry(parque).State = EntityState.Deleted; context.SaveChanges(); } estadas.ForEach((estadaId) => { Estada estada = new Estada(); estada.id = estadaId; using (var context = new GlampinhoEF()) { context.Entry(estada).State = EntityState.Deleted; context.SaveChanges(); } }); }