public static void Main(string[] args) { if (args.Length == 1) { Regex r = new Regex(@"(\/|\\|\-)(?<param>(\S+))\:(?<valor>(\w+\@\S+))"); Match m = r.Match(args[0]); if (m.Length != 0) { if (m.Groups["param"].Value == "email") { HóspedeSimpleFinder hsf = new HóspedeSimpleFinder(); Hóspede h = hsf.ProcurarPeloEmail(m.Groups["valor"].Value); if (h != null) { string fmt = "Hóspede {0}: {1} {2} - {3}"; Console.WriteLine(fmt, h.ID, h.Nome, h.Sobrenome, h.Email); } else { Console.WriteLine("Hóspede não encontrado"); } } } else { ModoUsar(); } } else { ModoUsar(); } }
public void InsertHóspedeTest() { using (var ctx = new Entities()) { Hóspede hóspede = new Hóspede() { bi = 1234567890, nif = 0987654321, nome = "Jaquim", email = "*****@*****.**", morada = "Rua da Calçada" }; ctx.Hóspede.Add(hóspede); ctx.SaveChanges(); Hóspede hóspede1 = ctx.Hóspede.Find(hóspede.nif); Assert.IsNotNull(hóspede1); Assert.AreEqual(hóspede.nif, hóspede1.nif); Assert.AreEqual(hóspede.nome, hóspede1.nome); foreach (var hospede in ctx.Hóspede) { ctx.Hóspede.Remove(hospede); } ctx.SaveChanges(); } }
public void UpdateHóspedeTest() { using (Context ctx = new Context(connectionString)) { Hóspede hóspede = new Hóspede(); hóspede.Bi = 1234567890; hóspede.Nif = 0987654321; hóspede.Nome = "Jaquim"; hóspede.Email = "*****@*****.**"; hóspede.Morada = "Rua da Calçada"; HóspedeMapper hóspedeMapper = new HóspedeMapper(ctx); hóspede = hóspedeMapper.Create(hóspede); hóspede.Nome = "Manel"; hóspedeMapper.Update(hóspede); Hóspede hóspede1 = hóspedeMapper.Read(hóspede.Nif); Assert.AreEqual(hóspede.Nif, hóspede1.Nif); Assert.AreEqual(hóspede.Nome, hóspede1.Nome); foreach (var hospede in hóspedeMapper.ReadAll()) { hóspedeMapper.Delete(hospede); } } }
private static void FindFacturas() { Hóspede hóspede = new Hóspede(); ParqueCampismo parque = new ParqueCampismo(); Tuple <int, int> pair; Console.Write("NIF: "); hóspede.NIF = int.Parse(Console.ReadLine()); Console.Write("Data Inicio(YYYY-MM-DD): "); DateTime dataInicio = Convert.ToDateTime(Console.ReadLine()); Console.Write("Data Fim(YYYY-MM-DD): "); DateTime dataFim = Convert.ToDateTime(Console.ReadLine()); Console.Write("Nome Parque: "); parque.nome = Console.ReadLine(); using (Context context = new Context(connectionString)) { ProcUtils procedimento = new ProcUtils(context); pair = procedimento.FindFacturas(hóspede, dataInicio, dataFim, parque); } Console.WriteLine("Despedas totais do hóspede com NIF: {0} - {1} Euros\n", pair.Item1, pair.Item2); }
private static void UpdateHóspede() { Hóspede updateHóspede = new Hóspede(); Console.Write("Nome: "); updateHóspede.nome = Console.ReadLine(); Console.Write("NIF: "); updateHóspede.NIF = int.Parse(Console.ReadLine()); Console.Write("Morada: "); updateHóspede.morada = Console.ReadLine(); Console.Write("Email: "); updateHóspede.email = Console.ReadLine(); Console.Write("Numero Identificação: "); updateHóspede.númeroIdentificação = int.Parse(Console.ReadLine()); using (var context = new GlampinhoEF()) { context.Hóspede.Attach(updateHóspede); var entry = context.Entry(updateHóspede); entry.Property(e => e.nome).IsModified = true; entry.Property(e => e.morada).IsModified = true; entry.Property(e => e.email).IsModified = true; entry.Property(e => e.númeroIdentificação).IsModified = true; entry.Property(e => e.NIF).IsModified = true; context.SaveChanges(); } }
public Tuple <int, int> FindFacturas(Hóspede hóspede, DateTime dataInicio, DateTime dataFim, ParqueCampismo parqueCampismo) { if (hóspede == null) { throw new ArgumentException("The hóspede cannot be null"); } LinkedList <Factura> facturas = new LinkedList <Factura>(); using (IDbCommand command = context.createCommand()) { command.CommandText = FindFacturaCommandText; command.CommandType = FindFacturaCommandType; FillParametersFindFactura(command, hóspede, dataInicio, dataFim, parqueCampismo.nome); IDataReader reader = command.ExecuteReader(); while (reader.Read()) { Factura f = new Factura(); f.id = reader.GetInt32(1); f.preçoTotal = reader.GetInt32(0); facturas.AddLast(f); } } return(CalcularDespesasHospede(facturas, hóspede.NIF)); }
public void InsertHóspedeTest() { using (var ctx = new Entities()) { Hóspede hóspede = new Hóspede() { bi = 1234567890, nif = 0987654321, nome = "Jaquim", email = "*****@*****.**", morada = "Rua da Calçada" }; ctx.SaveChanges(); /* * HóspedeMapper hóspedeMapper = new HóspedeMapper(ctx); * hóspede = hóspedeMapper.Create(hóspede); * * Hóspede hóspede1 = hóspedeMapper.Read(hóspede.Nif); * * Assert.AreEqual(hóspede.Nif, hóspede1.Nif); * Assert.AreEqual(hóspede.Nome, hóspede1.Nome); * * foreach (var hospede in hóspedeMapper.ReadAll()) * { * hóspedeMapper.Delete(hospede); * } */ } }
public static void RemoverHóspede(Entities ctx) { Console.Write("Insira o nif: "); Hóspede hóspede = ctx.Hóspede.Find(Convert.ToInt32(Console.ReadLine())); ctx.Hóspede.Remove(hóspede); ctx.SaveChanges(); }
public static void RemoverHóspede(Context context) { HóspedeMapper hóspedeMapper = new HóspedeMapper(context); Console.Write("Insira o nif: "); Hóspede hóspede = hóspedeMapper.Read(Convert.ToInt32(Console.ReadLine())); hóspedeMapper.Delete(hóspede); }
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 DeleteHóspede() { Hóspede deleteHóspede = new Hóspede(); Console.Write("NIF: "); deleteHóspede.NIF = int.Parse(Console.ReadLine()); using (Context context = new Context(connectionString)) { HóspedeMapper hóspedeMapper = new HóspedeMapper(context); hóspedeMapper.Delete(deleteHóspede); } }
private void FillParametersFindFactura(IDbCommand command, Hóspede hóspede, DateTime dataInicio, DateTime dataFim, string parqueCampismo) { SqlParameter nifHospede = new SqlParameter("@NIF", hóspede.NIF); SqlParameter dtInicio = new SqlParameter("@dataInicio", dataInicio); SqlParameter dtFim = new SqlParameter("@dataFim", dataFim); SqlParameter parqCamp = new SqlParameter("@parqueCampismo", parqueCampismo); command.Parameters.Add(nifHospede); command.Parameters.Add(dtInicio); command.Parameters.Add(dtFim); command.Parameters.Add(parqCamp); }
public static void AtualizarHóspede(Entities ctx) { Console.Write("Insira o nif: "); Hóspede hóspede = ctx.Hóspede.Find(Convert.ToInt32(Console.ReadLine())); Console.Write("Insira o bi: "); hóspede.bi = Convert.ToInt32(Console.ReadLine()); Console.Write("Insira o nif: "); hóspede.nif = Convert.ToInt32(Console.ReadLine()); Console.Write("Insira o nome: "); hóspede.nome = Console.ReadLine(); Console.Write("Insira o email: "); hóspede.email = Console.ReadLine(); Console.Write("Insira a morada: "); hóspede.morada = Console.ReadLine(); ctx.SaveChanges(); }
public static void InserirHóspede(Entities ctx) { Hóspede hóspede = new Hóspede(); Console.Write("Insira o bi: "); hóspede.bi = Convert.ToInt32(Console.ReadLine()); Console.Write("Insira o nif: "); hóspede.nif = Convert.ToInt32(Console.ReadLine()); Console.Write("Insira o nome: "); hóspede.nome = Console.ReadLine(); Console.Write("Insira o email: "); hóspede.email = Console.ReadLine(); Console.Write("Insira a morada: "); hóspede.morada = Console.ReadLine(); ctx.Hóspede.Add(hóspede); ctx.SaveChanges(); }
public void DeletePark(ParqueCampismo park) { if (park == null) { throw new ArgumentException("The ParqueCampismo cannot be null to be deleted"); } EnsureContext(); using (IDbCommand command = context.createCommand()) { command.CommandText = DeleteParkFindHóspedesCommandText; command.CommandType = DeleteParkFindHóspedesCommandType; SqlParameter nomeParq = new SqlParameter("@nomeParque", park.nome); command.Parameters.Add(nomeParq); List <Hóspede> hospedes = new List <Hóspede>(); IDataReader reader = command.ExecuteReader(); while (reader.Read()) { Hóspede h = new Hóspede(); h.NIF = reader.GetInt32(0); hospedes.Add(h); } HóspedeMapper hospedeMapper = new HóspedeMapper(context); hospedes.ForEach(h => { hospedeMapper.Delete(h); }); reader.Close(); command.Parameters.Clear(); command.CommandText = DeleteParkCommandText; command.CommandType = DeleteParkCommandType; SqlParameter nome = new SqlParameter("@nome", park.nome); command.Parameters.Add(nome); command.ExecuteNonQuery(); } }
public void InsertHóspedeTest() { using (Context ctx = new Context(connectionString)) { Hóspede hóspede = new Hóspede(); hóspede.Bi = 1234567890; hóspede.Nif = 0987654321; hóspede.Nome = "Jaquim"; hóspede.Email = "*****@*****.**"; hóspede.Morada = "Rua da Calçada"; HóspedeMapper hóspedeMapper = new HóspedeMapper(ctx); hóspede = hóspedeMapper.Create(hóspede); var hospedeAtividade = new HóspedeAtividade { Hóspede = hóspede, Nome_Atividade = "LOLITOS", Nome_Parque = "Brasil" }; var hospedeAtividadeMapper = new HóspedeAtividadeMapper(ctx); hospedeAtividade = hospedeAtividadeMapper.Create(hospedeAtividade); var hospedeatividade2 = hospedeAtividadeMapper.Read(hospedeAtividade.Nome_Atividade); Assert.AreEqual(hospedeAtividade.Hóspede.Nif, hospedeatividade2.Hóspede.Nif); Assert.AreEqual(hospedeAtividade.Hóspede.Bi, hospedeatividade2.Hóspede.Bi); Assert.AreEqual(hospedeAtividade.Nome_Atividade, hospedeatividade2.Nome_Atividade); Assert.AreEqual(hospedeAtividade.Nome_Parque, hospedeatividade2.Nome_Parque); foreach (var v in hospedeAtividadeMapper.ReadAll()) { hospedeAtividadeMapper.Delete(v); } foreach (var hospede in hóspedeMapper.ReadAll()) { hóspedeMapper.Delete(hospede); } } }
private void FillParametersCreateEstadaInTime(IDbCommand command, Hóspede responsável, Hóspede hóspede, Estada estada, Alojamento alojamento, Extra extraPessoal, Extra extraAlojamento) { SqlParameter NIFResponsável = new SqlParameter("@NIFResponsável", responsável.NIF); SqlParameter NIFHóspede = new SqlParameter("@NIFHóspede", hóspede.NIF); TimeSpan tempo = estada.dataFim.Subtract(estada.dataInício); SqlParameter tempoEstada = new SqlParameter("@tempoEstada", tempo.TotalDays); SqlParameter tipoAlojamento = new SqlParameter("@tipoAlojamento", alojamento.tipoAlojamento); SqlParameter lotação = new SqlParameter("@lotação", alojamento.númeroMáximoPessoas); SqlParameter idExtraPessoal = new SqlParameter("@idExtraPessoal", extraPessoal.id); SqlParameter idExtraAlojamento = new SqlParameter("@idExtraAlojamento", extraAlojamento.id); command.Parameters.Add(NIFResponsável); command.Parameters.Add(NIFHóspede); command.Parameters.Add(tempoEstada); command.Parameters.Add(tipoAlojamento); command.Parameters.Add(lotação); command.Parameters.Add(idExtraPessoal); command.Parameters.Add(idExtraAlojamento); }
public static void InserirHóspede(Context context) { Hóspede hóspede = new Hóspede(); Console.Write("Insira o bi: "); hóspede.Bi = Convert.ToInt32(Console.ReadLine()); Console.Write("Insira o nif: "); hóspede.Nif = Convert.ToInt32(Console.ReadLine()); Console.Write("Insira o nome: "); hóspede.Nome = Console.ReadLine(); Console.Write("Insira o email: "); hóspede.Email = Console.ReadLine(); Console.Write("Insira a morada: "); hóspede.Morada = Console.ReadLine(); HóspedeMapper hóspedeMapper = new HóspedeMapper(context); hóspede = hóspedeMapper.Create(hóspede); }
public void DeleteHóspedeTest() { using (Context ctx = new Context(connectionString)) { Hóspede hóspede = new Hóspede(); hóspede.Bi = 123456789; hóspede.Nif = 987654321; hóspede.Nome = "Jaquim"; hóspede.Email = "*****@*****.**"; hóspede.Morada = "Rua da Calçada"; HóspedeMapper hóspedeMapper = new HóspedeMapper(ctx); hóspede = hóspedeMapper.Create(hóspede); foreach (var h in hóspedeMapper.ReadAll()) { hóspedeMapper.Delete(h); } } }
/// <summary> /// Busca hóspede pelo Email /// </summary> /// <param name="email"></param> /// <returns>Instância do hóspede encontrado, ou null se não encontrado</returns> public override Hóspede ProcurarPeloEmail(string email) { XmlTextReader reader = new XmlTextReader(ConfigurationSettings.AppSettings["Xml Source"]); Hóspede h = null; while (reader.Read()) { if (reader["Email"] == email) { h = new Hóspede(); h.Email = email; h.Nome = reader["Nome"]; h.Sobrenome = reader["Sobrenome"]; h.ID = Convert.ToInt32(reader["ID"]); } } reader.Close(); return(h); }
public void InscreverHospede(Actividades actividade, Hóspede hóspede) { if (actividade == null) { throw new ArgumentException("The actividade cannot be null"); } if (hóspede == null) { throw new ArgumentException("The hóspede cannot be null"); } EnsureContext(); using (IDbCommand command = context.createCommand()) { command.CommandText = InscreverHóspedeCommandText; command.CommandType = InscreverHóspedeCommandType; FillParametersInscreverHospede(command, actividade, hóspede); command.ExecuteNonQuery(); } }
public void createEstadaInTime(Hóspede responsável, Hóspede hóspede, Estada estada, Alojamento alojamento, Extra extraPessoal, Extra extraAlojamento) { if (responsável == null || hóspede == null || estada == null || alojamento == null || extraPessoal == null || extraAlojamento == null) { throw new ArgumentException("Non of the parameters can be null"); } if (extraAlojamento.associado != "alojamento" || extraPessoal.associado != "pessoa") { throw new ArgumentException("Extra is not valid"); } EnsureContext(); using (IDbCommand command = context.createCommand()) { command.CommandText = CreateEstadaCommandText; command.CommandType = CreateEstadaCommandType; FillParametersCreateEstadaInTime(command, responsável, hóspede, estada, alojamento, extraPessoal, extraAlojamento); command.ExecuteNonQuery(); command.Parameters.Clear(); } }
private static void UpdateHóspede() { Hóspede updateHóspede = new Hóspede(); Console.Write("Nome: "); updateHóspede.nome = Console.ReadLine(); Console.Write("NIF: "); updateHóspede.NIF = int.Parse(Console.ReadLine()); Console.Write("Morada: "); updateHóspede.morada = Console.ReadLine(); Console.Write("Email: "); updateHóspede.email = Console.ReadLine(); Console.Write("Numero Identificação: "); updateHóspede.númeroIdentificação = int.Parse(Console.ReadLine()); using (Context context = new Context(connectionString)) { HóspedeMapper hóspedeMapper = new HóspedeMapper(context); hóspedeMapper.Update(updateHóspede); } }
private static void InscreverHóspede() { Hóspede hóspede = new Hóspede(); Actividades actividade; Console.Write("NIF Hospede: "); hóspede.NIF = int.Parse(Console.ReadLine()); Console.Write("Nome Parque: "); string nomeParq = Console.ReadLine(); Console.Write("Numero Sequencial: "); int numeroSeq = int.Parse(Console.ReadLine()); Console.Write("Ano(YYYY): "); int ano = int.Parse(Console.ReadLine()); using (Context context = new Context(connectionString)) { ActividadesMapper actividadesMapper = new ActividadesMapper(context); actividade = actividadesMapper.Read(new Tuple <string, int, int>(nomeParq, numeroSeq, ano)); ProcUtils procedimento = new ProcUtils(context); procedimento.InscreverHospede(actividade, hóspede); } }
private static void CreateHóspede() { Hóspede newHóspede = new Hóspede(); Console.Write("Nome: "); newHóspede.nome = Console.ReadLine(); Console.Write("NIF: "); newHóspede.NIF = int.Parse(Console.ReadLine()); Console.Write("Morada: "); newHóspede.morada = Console.ReadLine(); Console.Write("Email: "); newHóspede.email = Console.ReadLine(); Console.Write("Numero Identificação: "); newHóspede.númeroIdentificação = int.Parse(Console.ReadLine()); using (var context = new GlampinhoEF()) { context.Hóspede.Add(newHóspede); context.SaveChanges(); } }
public void UpdateFaturaTest() { using (Context ctx = new Context(connectionString)) { Hóspede hóspede = new Hóspede(); hóspede.Bi = 1234567890; hóspede.Nif = 0987654321; hóspede.Nome = "Jaquim"; hóspede.Email = "*****@*****.**"; hóspede.Morada = "Rua da Calçada"; HóspedeMapper hóspedeMapper = new HóspedeMapper(ctx); hóspede = hóspedeMapper.Create(hóspede); Estada estada = new Estada(); estada.DataInicio = new DateTime(2007, 3, 1); estada.DataFim = new DateTime(2017, 3, 1); estada.Id = 25; //TODO estada.NifHospede = 0; EstadaMapper estadaMapper = new EstadaMapper(ctx); estada = estadaMapper.Create(estada); Fatura fatura = new Fatura(); fatura.Hóspede = hóspede; fatura.Estada = estada; fatura.Id = 1; fatura.ValorFinal = 0; var faturaMapper = new FaturaMapper(ctx); fatura = faturaMapper.Create(fatura); var valorFinal = 500; fatura.ValorFinal = valorFinal; faturaMapper.Update(fatura); Fatura fatura1 = faturaMapper.Read(fatura.Id); Assert.AreEqual(fatura.Id, fatura1.Id); Assert.AreEqual(fatura.Hóspede.Nome, fatura1.Hóspede.Nome); Assert.AreEqual(fatura.Hóspede.Nif, fatura1.Hóspede.Nif); Assert.AreEqual(fatura.Hóspede.Bi, fatura1.Hóspede.Bi); Assert.AreEqual(fatura.Estada.Id, fatura1.Estada.Id); Assert.AreEqual(fatura.Estada.DataFim, fatura1.Estada.DataFim); Assert.AreEqual(fatura.Estada.DataInicio, fatura1.Estada.DataInicio); Assert.AreEqual(fatura.ValorFinal, fatura1.ValorFinal); Assert.AreEqual(fatura.ValorFinal, valorFinal); foreach (var e in faturaMapper.ReadAll()) { faturaMapper.Delete(e); } foreach (var e in hóspedeMapper.ReadAll()) { hóspedeMapper.Delete(e); } foreach (var e in estadaMapper.ReadAll()) { estadaMapper.Delete(e); } } }
public void EnviarEmailsNumPeriodoTest() { using (Context ctx = new Context(_connectionString)) { var estada = new Estada { DataInicio = new DateTime(2000, 1, 2), DataFim = new DateTime(2000, 1, 5), Id = 123456, NifHospede = 111 }; EstadaMapper estadaMapper = new EstadaMapper(ctx); estada = estadaMapper.Create(estada); Hóspede hóspede = new Hóspede { Bi = 456, Nif = 111, Nome = "Jaquim", Email = "*****@*****.**", Morada = "Rua da Calçada" }; HóspedeMapper hóspedeMapper = new HóspedeMapper(ctx); hóspede = hóspedeMapper.Create(hóspede); EstadaHóspede estadaHóspede = new EstadaHóspede() { Estada = estada, Hóspede = hóspede }; var estadaHospedeMapper = new EstadaHóspedeMapper(ctx); estadaHóspede = estadaHospedeMapper.Create(estadaHóspede); //////////////////// var estada2 = new Estada { DataInicio = new DateTime(2000, 1, 10), DataFim = new DateTime(2000, 1, 12), Id = 576586, NifHospede = 222 }; estada2 = estadaMapper.Create(estada2); Hóspede hóspede2 = new Hóspede { Bi = 789, Nif = 222, Nome = "Pedro", Email = "*****@*****.**", Morada = "Rua de Juz" }; hóspede2 = hóspedeMapper.Create(hóspede2); EstadaHóspede estadaHóspede2 = new EstadaHóspede() { Estada = estada2, Hóspede = hóspede2 }; estadaHóspede2 = estadaHospedeMapper.Create(estadaHóspede2); var enviar = new EnviarEmailsNumPeriodo(ctx); enviar.Execute(5, out int contador); Assert.AreEqual(1, contador); foreach (var e in estadaHospedeMapper.ReadAll()) { estadaHospedeMapper.Delete(e); } foreach (var hospede in hóspedeMapper.ReadAll()) { hóspedeMapper.Delete(hospede); } foreach (var e in estadaMapper.ReadAll()) { estadaMapper.Delete(estada); } } }
private void FillParametersInscreverHospede(IDbCommand command, Actividades actividade, Hóspede hóspede) { SqlParameter nifHosp = new SqlParameter("@NIFHóspede", hóspede.NIF); SqlParameter numSeq = new SqlParameter("@númeroSequencial", actividade.númeroSequencial); SqlParameter nomeParq = new SqlParameter("@nomeParque", actividade.nomeParque); SqlParameter year = new SqlParameter("@ano", actividade.ano); command.Parameters.Add(nifHosp); command.Parameters.Add(numSeq); command.Parameters.Add(nomeParq); command.Parameters.Add(year); }
public void InsertHóspedeTest() { using (Context ctx = new Context(_connectionString)) { var estada = new Estada { DataInicio = new DateTime(2007, 3, 1), DataFim = new DateTime(2017, 3, 1), Id = 25, NifHospede = 0 }; EstadaMapper estadaMapper = new EstadaMapper(ctx); estada = estadaMapper.Create(estada); Hóspede hóspede = new Hóspede(); hóspede.Bi = 1234567890; hóspede.Nif = 0; hóspede.Nome = "Jaquim"; hóspede.Email = "*****@*****.**"; hóspede.Morada = "Rua da Calçada"; HóspedeMapper hóspedeMapper = new HóspedeMapper(ctx); hóspede = hóspedeMapper.Create(hóspede); EstadaHóspede estadaHóspede = new EstadaHóspede() { Estada = estada, Hóspede = hóspede }; var estadaHospedeMapper = new EstadaHóspedeMapper(ctx); estadaHóspede = estadaHospedeMapper.Create(estadaHóspede); /* * CREATE PARQUE */ Parque p = new Parque(); p.Nome = "brasil"; p.Email = "*****@*****.**"; p.Morada = "Rio de Janeiro, Rua Junqueiro 367"; p.Estrelas = 5; ParqueMapper parqueMap = new ParqueMapper(ctx); p = parqueMap.Create(p); var atividade = new Atividade { Parque = p, DataAtividade = new DateTime(2009, 10, 1), Descrição = "FORA", Preço = 90, Lotaçao = 12, NomeAtividade = "HAMBURGER" }; var atividadeMapper = new AtividadeMapper(ctx); atividade = atividadeMapper.Create(atividade); Fatura fatura = new Fatura(); fatura.Hóspede = hóspede; fatura.Estada = estada; fatura.Id = 1; fatura.ValorFinal = 0; var faturaMapper = new FaturaMapper(ctx); fatura = faturaMapper.Create(fatura); var inscr = new InscreverHóspedeEmAtividade(ctx); inscr.Execute(hóspede.Nif, atividade.NomeAtividade, p.Nome); var hospedeAtividadeMapper = new HóspedeAtividadeMapper(ctx); var componenteFaturaMapper = new ComponenteFaturaMapper(ctx); var hospedeAtividade = hospedeAtividadeMapper.Read(atividade.NomeAtividade); Assert.IsNotNull(hospedeAtividade); var count = componenteFaturaMapper.ReadAll().Count; Assert.AreNotEqual(count, 0); /* * REMOVE THE PARQUE */ foreach (var cp in hospedeAtividadeMapper.ReadAll()) { hospedeAtividadeMapper.Delete(cp); } foreach (var s in atividadeMapper.ReadAll()) { atividadeMapper.Delete(s); } foreach (var e in estadaHospedeMapper.ReadAll()) { estadaHospedeMapper.Delete(e); } foreach (var cp in componenteFaturaMapper.ReadAll()) { componenteFaturaMapper.Delete(cp); } foreach (var e in faturaMapper.ReadAll()) { faturaMapper.Delete(e); } foreach (var hospede in hóspedeMapper.ReadAll()) { hóspedeMapper.Delete(hospede); } foreach (var parque in parqueMap.ReadAll()) { parqueMap.Delete(parque); } foreach (var e in estadaMapper.ReadAll()) { estadaMapper.Delete(estada); } } }
public override ParqueCampismo Delete(ParqueCampismo entity) { if (entity == null) { throw new ArgumentException("The ParqueCampismo cannot be null to be deleted"); } EnsureContext(); using (IDbCommand command = context.createCommand()) { command.CommandText = "SELECT DISTINCT NIF FROM HóspedeEstada \n" + "EXCEPT\n" + "SELECT DISTINCT NIF FROM HóspedeEstada INNER JOIN ( SELECT id FROM AlojamentoEstada WHERE nomeParque<>@nomeParque ) AS A ON A.id=HóspedeEstada.id"; command.CommandType = CommandType.Text; SqlParameter nomeParq = new SqlParameter("@nomeParque", entity.nome); command.Parameters.Add(nomeParq); IDataReader reader = command.ExecuteReader(); List <Hóspede> hospedes = new List <Hóspede>(); while (reader.Read()) { Hóspede h = new Hóspede(); h.NIF = reader.GetInt32(0); hospedes.Add(h); } HóspedeMapper hospedeMapper = new HóspedeMapper(context); hospedes.ForEach(h => { hospedeMapper.Delete(h); }); reader.Close(); command.Parameters.Clear(); command.CommandText = "SELECT A.id FROM Estada INNER JOIN(SELECT * FROM AlojamentoEstada WHERE nomeParque = 'Glampinho') AS A ON Estada.id = A.id"; command.CommandType = CommandType.Text; SqlParameter nomeParqe = new SqlParameter("@nomeParque", entity.nome); command.Parameters.Clear(); reader.Close(); command.Parameters.Add(nomeParq); IDataReader dataReader = command.ExecuteReader(); List <Estada> estadas = new List <Estada>(); while (reader.Read()) { Estada estada = new Estada(); estada.id = reader.GetInt32(0); estadas.Add(estada); } EstadaMapper estadaMapper = new EstadaMapper(context); estadas.ForEach(h => { estadaMapper.Delete(h); }); command.CommandText = "DELETE FROM ParqueCampismo WHERE nome=@nome"; command.CommandType = CommandType.Text; SqlParameter nome = new SqlParameter("@nome", entity.nome); command.Parameters.Add(nome); command.ExecuteNonQuery(); return(entity); } }